3 ms·
They might have phrased this poorly. >We should support at least 100,000 simultaneous users. This line makes me think that this is what they expected the peak
by tyrust 10y ago
They might have phrased this poorly.
>We should support at least 100,000 simultaneous users.
This line makes me think that this is what they expected the peak (or near peak) to be.
>Users can place one tile every 5 minutes, so we must support an average update rate of 100,000 tiles per 5 minutes (333 updates/s).
So assuming that they mean that 100k is the peak and that clients are limited to 1 update per 5 minutes, they can expect 333 updates per second on average. The "average" is taken over this 5 minute period. This average represents the number of queries per second they will get if everyone's 5 minute cooldown is spread out evenly over each 5 minute period.
It is possible, for example, for half of the peak population's cooldown to expire at 1300 and the other half to expire at 1305. In this case the average updates/s over the 5 minute period from 1300-1305 would still be 333 updates/s even though there were really 2 bursts of 50k a second at 1300 and 1305. It's far more likely that cooldowns are not excessively stacked in this way, so you prepare for the average and hope for the best.
- foota 10y agoPrepare for the average and hope for the best seems like a great way for things to fail.
- tyrust 10y agoThey prepared for the worst (peak 100k users). The "hope" that those 100k would be spread out was based on the statistical likelihood that these 100k wouldn't line up too much over a 5 minute period. I didn't follow /r/place that much, but I haven't read any complaints about latency or failures so it looks like they did just fine.
- foota 10y agoThey say elsewhere that they were prepared for 100k updates all at once. Which is the worst. Edit: you're an sre, you probably have more experience planning these things than I ever will. I just can't help but think about what would happen if some trolls realized they could synchronize their updates and bring down the service. (Although based on the infrastructure it doesn't seem possible to cause lasting damage.)
- tyrust 10y agoYeah, I understand what you're saying. It is conceivable that a bunch of people would coordinate their updates. To prevent new-comers from spoiling the fun, they only allowed users with accounts created before /r/place was launched to send updates.
- tummybug 10y agoI agree, but if you do fail it means you are doing something right. In most cases I think YAGNI suffices for how much engineering to do.