> Alice says your service is slow. You tell Alice that the mean request to your service completes in 100ms, but Alice says that her mean wait time is 1s. There are also plenty of situations where a service can have a bimodal performance distribution and the impact of that can fall on certain users disproportionately. Imagine a retail website that serves images from a global CDN, with cache misses pulled from a server…
Alice is impatient
41–46 of 46 posts
Re: Alice is impatient
#42> Alice says your service is slow. You tell Alice that the mean request to your service completes in 100ms, but Alice says that her mean wait time is 1s. There are also plenty of situations where a service can have a bimodal performance distribution and the impact of that can fall on certain users disproportionately. Imagine a retail website that serves images from a global CDN, with cache misses pulled from a server…
So what's the solution here? Keep the cache artificially warm for even obscure routes?
Like the story Bezos told of his execs claiming call wait times were under 1 minute, so he called the service line from the conference room on the spot and made everyone sit there for 10 minutes waiting to get thru..
Re: Alice is impatient
#43Re: Alice is impatient
#44I don’t remember any service I used in the last couple of years, where I thought to myself: this service is really fast and responsive. Great experience. Quite the contrary: feels like everything got worse. Sometimes painfully slow, buggy and unreliable.
Re: Alice is impatient
#45Earlier quoted context omitted.
So what's the solution here? Keep the cache artificially warm for even obscure routes?
There may not be a solution in every case, but it's a reminder that dashboards & metrics are no replacement for actually talking to your users. Metrics are at best a proxy for user experience, don't let them be the tail that wags the dog. Like the story Bezos told of his execs claiming call wait times were under 1 minute, so he called the service line from the conference room on the spot and made everyone sit there f…
Re: Alice is impatient
#46Earlier quoted context omitted.
If your frontend fires hundreds of requests (which isn't uncommon) then the p99 is merely what most users will experience. Ideally you want cumulative distribution chart that goes up to the max. And then that's just for the requests you measure. If something takes too long the user might do something that cancels the requests which means the backend never completes its response and won't get the time-to-response samp…
This is only true if your latency distribution is fully random, which is rarely the case. More often than not, it's the same small group of users hitting most of the p99 because their accounts are simply more resource intensive.