Page MenuHomePhabricator

Test out small variance (2%) in latency for our test
Closed, ResolvedPublic

Description

This should be quite easy to add, so we give a latency and then add a small variance for each run. That can help us so we don't hit an exact latency that can cause us problems.

Event Timeline

Peter triaged this task as Medium priority.Oct 15 2019, 4:41 PM

I've started to implement this. Trying to make as simple as possible: you add a percentage of variance and then it is set for every run. I've started to just change the latency, that's what we use for WebPageReplay.

To test it out we need to run it for a couple of days, would be cool if I could roll it out tomorrow and then it can run during next week when I',m on vacation.

I got this to work, but I haven't been able to push this somewhere yet. It's hard to see the outcome on my local machine. I'll push it to Browsertime, but I think its best to add a test case when I get back from vacation.

At the moment it works like this: you add a variance in % and that it will be used for every run. Say that we run with cable connectivity (using RTT 28) and run with a variance of 2%, then the RTT will be 28 or 29 for each run.

Change 595461 had a related patch set uploaded (by Phedenskog; owner: Phedenskog):
[performance/synthetic-monitoring-tests@master] Run tests with 2% RTT variance.

https://gerrit.wikimedia.org/r/595461

Change 595461 merged by jenkins-bot:
[performance/synthetic-monitoring-tests@master] Run tests with 2% RTT variance.

https://gerrit.wikimedia.org/r/595461

I've tested without WPR for a while and no direct difference.

Variance:

Screen Shot 2020-05-25 at 12.15.01 PM.png (1×1 px, 184 KB)

Without:

Screen Shot 2020-05-25 at 12.16.09 PM.png (1×1 px, 221 KB)

The idea is that we could hit certain thresholds where just a small diff in latency and running a small variance could make use see that in the metrics, but no luck.

Change 598438 had a related patch set uploaded (by Phedenskog; owner: Phedenskog):
[performance/synthetic-monitoring-tests@master] Remove desktop latency variance tests.

https://gerrit.wikimedia.org/r/598438

Change 598438 merged by jenkins-bot:
[performance/synthetic-monitoring-tests@master] Remove desktop latency variance tests.

https://gerrit.wikimedia.org/r/598438

Change 598440 had a related patch set uploaded (by Phedenskog; owner: Phedenskog):
[performance/synthetic-monitoring-tests@master] Try out 2% variance in latency when replaying.

https://gerrit.wikimedia.org/r/598440

Change 598440 merged by jenkins-bot:
[performance/synthetic-monitoring-tests@master] Try out 2% variance in latency when replaying.

https://gerrit.wikimedia.org/r/598440

Change 598809 had a related patch set uploaded (by Phedenskog; owner: Phedenskog):
[performance/synthetic-monitoring-tests@master] Rename config file to be correctly picked up.

https://gerrit.wikimedia.org/r/598809

Change 598809 merged by jenkins-bot:
[performance/synthetic-monitoring-tests@master] Rename config file to be correctly picked up.

https://gerrit.wikimedia.org/r/598809

I tested with WebPageReplay on emulated mobile variance of 2% of 100 latency. I could't see any difference in median TTFB (but I could see that the variance was set) so my conclusion is that 2% doesn't gives us any difference. Maybe we should try another tactic in the future but for now this experience is done.

Facebook with WPR:

Screen Shot 2020-05-29 at 12.04.27 PM.png (1×1 px, 273 KB)

Facebook with WPR and 2% variance:

Screen Shot 2020-05-29 at 12.04.11 PM.png (1×1 px, 263 KB)

And Obama WPR:

Screen Shot 2020-05-29 at 12.05.59 PM.png (1×1 px, 328 KB)

Obama WPR and 2% variance:

Screen Shot 2020-05-29 at 12.07.08 PM.png (1×1 px, 291 KB)

Change 599772 had a related patch set uploaded (by Phedenskog; owner: Phedenskog):
[performance/synthetic-monitoring-tests@master] Remove variance latency 2% tests since I'm finished.

https://gerrit.wikimedia.org/r/599772

Change 599772 merged by jenkins-bot:
[performance/synthetic-monitoring-tests@master] Remove variance latency 2% tests since I'm finished.

https://gerrit.wikimedia.org/r/599772