Page MenuHomePhabricator

Test the impact of incremental increase in traffic for cache splitting experiments
Closed, ResolvedPublic3 Estimated Story Points

Description

Current state: We're running 1-2 experiments at a time with no varnish issues, and with the current limit of enrolling 0.1% of enwiki, we are still limited on sample size for experiments with low engagement rates. As I understand it, we would likely need to increase enrolment carefully since we won't know the impact until we actually hit it. The risk is that if we run up against varnish capacity limits, it starts evicting cache objects which increases backend load and slows response time. If hot/warm cache layers get evicted, we lose DDOS protection.

Working Hypothesis: If we gradually raise enrolment from 0.1% -> 0.2% -> 0.4% -> 0.8% -> 1.6% of enwiki and monitor system health at each step, we will get a better sense of impact on the system at each step.

This helps us not only increase enrolment, but also stress test the system and learn what performance impacts might look like, so that we can better detect them in the future.

Acceptance Criteria

  • Remove the limit (shh!) we finally decided to tweak the database before turning the related experiments on (see https://phabricator.wikimedia.org/T407570#11331696)
  • Run one experiment of increasing enrolment starting at 0.1% and doubling the traffic every two days
  • Track health on relevant dashboards

Notes

Relevant dashboard to check the performance

Experiment details

First round: A single experiment

  • From 0.1% to 1.6% of traffic for English Wikipedia
  • From 2026/01/12 to 2026/02/09

Second round: three experiments

  • From 2.7% to 10% of the traffic for English Wikipedia
  • From 2026/03/16 to 2026/03/27

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Mentioned in SAL (#wikimedia-operations) [2025-12-09T08:21:22Z] <wmde-fisch@deploy2002> Started scap sync-world: Backport for [[gerrit:1215214|ext.wikimediaEvents: Add xLab impactTest experiment-specific instrument (T407570)]], [[gerrit:1216553|VE: Don't create a synth ref when there's a LDR main ref (T411245)]]

Mentioned in SAL (#wikimedia-operations) [2025-12-09T08:23:23Z] <wmde-fisch@deploy2002> wmde-fisch, sfaci: Backport for [[gerrit:1215214|ext.wikimediaEvents: Add xLab impactTest experiment-specific instrument (T407570)]], [[gerrit:1216553|VE: Don't create a synth ref when there's a LDR main ref (T411245)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2025-12-09T08:30:19Z] <wmde-fisch@deploy2002> Finished scap sync-world: Backport for [[gerrit:1215214|ext.wikimediaEvents: Add xLab impactTest experiment-specific instrument (T407570)]], [[gerrit:1216553|VE: Don't create a synth ref when there's a LDR main ref (T411245)]] (duration: 08m 56s)

The ticket is BLOCKED because there was an incident related to the cache. We have pre-emptively disabled this experiment until the incident is solved.

@ssingh - when might your team be comfortable with us running the test? Has the incident been resolved or mitigated?

@ssingh - when might your team be comfortable with us running the test? Has the incident been resolved or mitigated?

Hi @JVanderhoop-WMF : The Dec 8 incident has resolved and we can resume this again. Let us know when you plan to run it so that we are aware. Thanks.

@ssingh - when might your team be comfortable with us running the test? Has the incident been resolved or mitigated?

Hi @JVanderhoop-WMF : The Dec 8 incident has resolved and we can resume this again. Let us know when you plan to run it so that we are aware. Thanks.

Thanks @ssingh for letting us know!

We are now configuring the instrument to start next Monday (January 12th). The initial load will be 0.1% for enwiki which is the value we are currently allowing for any other experiment so nothing special should happen initially. As planned in https://phabricator.wikimedia.org/T407570#11361528 we will double the traffic for that wiki every 2 or 3 days after checking that everything looks good. Anyway, we'll reach out to you before doubling to make sure we all agree on that.

Change #1226276 had a related patch set uploaded (by Santiago Faci; author: Santiago Faci):

[operations/deployment-charts@master] Test Kitchen UI: Deploying v1.1.5 release to staging

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

Change #1226276 merged by jenkins-bot:

[operations/deployment-charts@master] Test Kitchen UI: Deploying v1.1.5 release to staging

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

Change #1226281 had a related patch set uploaded (by Santiago Faci; author: Santiago Faci):

[operations/deployment-charts@master] Test Kitchen UI: Deploying v1.1.5 release to staging

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

Change #1226281 merged by jenkins-bot:

[operations/deployment-charts@master] Test Kitchen UI: Deploying v1.1.5 release to production

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

@ssingh FYI: After a couple of days running this experiment with 0.1% of the enwiki traffic (our current limit per experiment) we are going to double that amount for the rest of the week. The plan will be to double the traffic again next Monday

Hi again @ssingh!
We are going to double the traffic again. It will be 0.4% since now.

We'll also extend the experiment a while because we have been doubling the traffic slower than expected and two weeks won't be enough to reach the limit we planned at the beginning

Hi again @ssingh!
We are going to double the traffic again. It will be 0.4% since now.

We'll also extend the experiment a while because we have been doubling the traffic slower than expected and two weeks won't be enough to reach the limit we planned at the beginning

Thanks @Sfaci. Do you have a date of going to .4%? And can you remind me which experiment is this under https://test-kitchen.wikimedia.org/?

Hi again @ssingh!
We have doubled again the traffic just right now. It's 0.8% since now.

@ssingh Now that we are running with 0.8% traffic and everything seems to be ok, we are wondering if we could/should extend this experiment regarding the time and also the limit we established at the beginning (1.6%) in the case we reach that one and everything keeps being ok as right now. What do you think about it? We think that would be useful to know more about the performance and limits of the whole system for logged-out experiments in preparation for the near/long future when we expect that more experiments will be running at the same time. We don't mean to run this experiment forever until we break something but at least try it with something like 5% or so for enwiki and probably increasing more slowly instead of doubling the traffic once we reach 1.6% (1% each time, for example)

I wanted to take the opportunity as well to ask you whether you have noticed any performance loss because of this experiment. I'm taking a look at the related dashboard and, as far as I understand, everything seems to be unchanged. Is that right?

Thank you very much!

@ssingh Now that we are running with 0.8% traffic and everything seems to be ok, we are wondering if we could/should extend this experiment regarding the time and also the limit we established at the beginning (1.6%) in the case we reach that one and everything keeps being ok as right now. What do you think about it? We think that would be useful to know more about the performance and limits of the whole system for logged-out experiments in preparation for the near/long future when we expect that more experiments will be running at the same time. We don't mean to run this experiment forever until we break something but at least try it with something like 5% or so for enwiki and probably increasing more slowly instead of doubling the traffic once we reach 1.6% (1% each time, for example)

I wanted to take the opportunity as well to ask you whether you have noticed any performance loss because of this experiment. I'm taking a look at the related dashboard and, as far as I understand, everything seems to be unchanged. Is that right?

Thank you very much!

Hi @Sfaci. Most of the team is out this week for the SRE offsite so we will follow up on your question and the ask for observation during the week of Feb 2. Thanks.

Hi @Sfaci. Most of the team is out this week for the SRE offsite so we will follow up on your question and the ask for observation during the week of Feb 2. Thanks.

@ssingh That's ok!
In the meantime we are going to double right now the traffic from 0.8% to 1.6% as we already planned initially. That amount is the limit we planned when we defined this ticket.

Sounds good, thank you. We still have not gone through the dashboards in detail but so far everything looks fine on a quick check.

Hi @ssingh!
Just a friendly reminder of what we mentioned about running this test with higher traffic. The current experiment ended after being running with 1.6% of the English Wikipedia traffic as the final step, and we would like to run it again with more traffic (up to 5-6%, increasing by 1% every 2/3 days). Would you be ok with that plan?

We have already confirmed with data engineering that, regarding the amount of events sent to EventGate, there is no concern. The infrastructure can handle much more

Hi @ssingh!
Just a friendly reminder of what we mentioned about running this test with higher traffic. The current experiment ended after being running with 1.6% of the English Wikipedia traffic as the final step, and we would like to run it again with more traffic (up to 5-6%, increasing by 1% every 2/3 days). Would you be ok with that plan?

We have already confirmed with data engineering that, regarding the amount of events sent to EventGate, there is no concern. The infrastructure can handle much more

Thanks for letting us know. 6% is the maximum you are aiming for, correct?

Hi all - just finished some meetings ( CC @JVanderhoop-WMF @BBlack @Vgutierrez @KReid-WMF , tech lead @phuedx ) where we had some discussion on this.

It turns out we'd be interested here for the real world load testing aspect to aim for 10% for enwiki, mainly to get a feel for what it will be like as we have more experiments in flight.

Although that will be useful, and we think it's necessary to know ahead of having more parallel experiments on higher traffic volume domains (and project families, for that matter), it's important that we all start looking more intently at target test population for reaching statistical power/significance and how that ties into correlation impacts within a privacy envelope.

We should do some thinking on appropriate increments and limits for enrolled population size and experiment duration, having guardrails for test populations. I don't think we have firm answers on that, but just noting it here as a TODO.

We've had some discussion in the past about how to automate some of this. For example, by looking at actual pageviews on wikis and feeding that into some part of the configuration backplane, git submodules, whatever that's more per-wiki aware...instead of just blanket setting a percentage across a number of wikis. But it's more work to be done, so that we can reap the benefits of experimentation while continuing to offer a first class privacy oriented experience.

(Santi had noted privacy in comments up above, just expanding on it a bit more.)

Hi again @ssingh!

After discussing a bit the above (the privacy considerations), we think that part is out of scope of this task. But we still want to test the performance of the enrolment mechanism in Varnish, by increasing the traffic for the related experiment for 10% of the traffic for enwiki. Could you confirm that your team is ok with?. As we mentioned before, the idea would be using increments of 1% starting from the last value we reached (1.6%).

This time we will be running three different experiments but the traffic in aggregation will be what I have mentioned above (10% max in total for enwiki ->, 3.3% max each experiment)

Once you confirm, we will start with those three experiments and we will be increasing the aggregated traffic 1% each 2-3 days, to have the opportunity to see how the overall performance goes before keep increasing the traffic, as we did before.

Thanks!

Hi again @ssingh!

After discussing a bit the above (the privacy considerations), we think that part is out of scope of this task. But we still want to test the performance of the enrolment mechanism in Varnish, by increasing the traffic for the related experiment for 10% of the traffic for enwiki. Could you confirm that your team is ok with?. As we mentioned before, the idea would be using increments of 1% starting from the last value we reached (1.6%).

This time we will be running three different experiments but the traffic in aggregation will be what I have mentioned above (10% max in total for enwiki ->, 3.3% max each experiment)

Once you confirm, we will start with those three experiments and we will be increasing the aggregated traffic 1% each 2-3 days, to have the opportunity to see how the overall performance goes before keep increasing the traffic, as we did before.

Thanks!

Hi @Sfaci. Thanks for letting us know. The incremented rollout sounds good. As you have done in the past, please let us know when you start the first phase so that we can monitor things before the second phase.

Change #1249211 had a related patch set uploaded (by Santiago Faci; author: Santiago Faci):

[mediawiki/extensions/WikimediaEvents@master] ext.wikimediaEvents: Updated Test Kitchen impact test experiment

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

Change #1249211 merged by jenkins-bot:

[mediawiki/extensions/WikimediaEvents@master] ext.wikimediaEvents: Updated Test Kitchen impact test experiment

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

Change #1250632 had a related patch set uploaded (by Santiago Faci; author: Santiago Faci):

[mediawiki/extensions/WikimediaEvents@wmf/1.46.0-wmf.19] ext.wikimediaEvents: Updated Test Kitchen impact test experiment

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

Change #1250632 merged by jenkins-bot:

[mediawiki/extensions/WikimediaEvents@wmf/1.46.0-wmf.19] ext.wikimediaEvents: Updated Test Kitchen impact test experiment

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

Mentioned in SAL (#wikimedia-operations) [2026-03-11T20:27:48Z] <jsn@deploy2002> Started scap sync-world: Backport for [[gerrit:1250581|riskyArticleEdits: show page descriptions (T419442)]], [[gerrit:1250582|Fix Instrumentation on mobile view (T419517)]], [[gerrit:1250632|ext.wikimediaEvents: Updated Test Kitchen impact test experiment (T407570)]]

Mentioned in SAL (#wikimedia-operations) [2026-03-11T20:29:58Z] <jsn@deploy2002> jsn, sfaci: Backport for [[gerrit:1250581|riskyArticleEdits: show page descriptions (T419442)]], [[gerrit:1250582|Fix Instrumentation on mobile view (T419517)]], [[gerrit:1250632|ext.wikimediaEvents: Updated Test Kitchen impact test experiment (T407570)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2026-03-11T20:38:25Z] <jsn@deploy2002> Finished scap sync-world: Backport for [[gerrit:1250581|riskyArticleEdits: show page descriptions (T419442)]], [[gerrit:1250582|Fix Instrumentation on mobile view (T419517)]], [[gerrit:1250632|ext.wikimediaEvents: Updated Test Kitchen impact test experiment (T407570)]] (duration: 10m 37s)

@ssingh Next Monday, March 16th, we will start the new phase:

  • Three experiments starting with 0.9% each (2.7% in total which is more or less 1% more than the first phase, when we ended up running a single experiment with 1.6% traffic for enwiki
  • If everything is ok, in 2 or 3 days we will increase the total traffic in 1% (around 0.3% each experiment)
  • Anyway, I'll let you know about every intermediate increment before making it effective (I won't do anything without having your confirmation)

The experiments we will run this time are the following:

Thanks!

Sfaci updated the task description. (Show Details)

@ssingh Next Monday, March 16th, we will start the new phase:

  • Three experiments starting with 0.9% each (2.7% in total which is more or less 1% more than the first phase, when we ended up running a single experiment with 1.6% traffic for enwiki
  • If everything is ok, in 2 or 3 days we will increase the total traffic in 1% (around 0.3% each experiment)
  • Anyway, I'll let you know about every intermediate increment before making it effective (I won't do anything without having your confirmation)

The experiments we will run this time are the following:

Thanks!

[Sorry, I was out]. Noted, and thank you!

@ssingh As far as I understand, everything seems to be ok with the current configuration. What do you think about increasing the traffic 1% in total for the three experiments (around 0.3 % each)?

@ssingh As far as I understand, everything seems to be ok with the current configuration. What do you think about increasing the traffic 1% in total for the three experiments (around 0.3 % each)?

Things seem to be fine @Sfaci so please go ahead. Thanks for checking as always.

Things seem to be fine @Sfaci so please go ahead. Thanks for checking as always.

Cool! Now the aggregated traffic is 3.7% (1.4% + 1.3% + 1.3% respectively for the three running experiments).

Thanks!

@ssingh Are you ok with a new increment of the traffic to reach 4.7%?

@ssingh Are you ok with a new increment of the traffic to reach 4.7%?

Hi @Sfaci: no issues, thanks.

Hi @Sfaci: no issues, thanks.

Cool! Traffic increased. The aggregated one is now 4.7%
Thanks!

@ssingh Are you ok with a new increment of the traffic to reach 5.7%?

While we discuss separately the privacy considerations that were raised during last meeting we had (due to the higher amount of data that the higher amount of traffic implies), we have decided that we can close this hypothesis as Completed (the original working hypothesis was achieved).