Chapter 86. Even Throughput and Response Time?
A smart evil genie can game any ratio. Even throughput and response time. Come on, I’ll show you how.
Throughput is output divided by a duration. To make your throughput look better than it really is, all she has to do is add a bunch of really fast-completing task executions to your load. These executions don’t even have to do anything useful; they could even create positive harm. It doesn’t matter. The only constraint is that they just have to count as executions. All she has to do is increase the completion count for whatever duration you’re using, and now you’re looking at a higher-is-better throughput metric value that got bigger, and therefore “better,” but by making your system worse off—by leaving you with a higher traffic intensity.
Now, let’s do response time. Is that even a ratio? Yes it is: it’s a duration divided by a count of task executions. When you’re looking at the response time of a single execution, you don’t give the evil genie much room to maneuver. But if you start aggregating response times, oh, that’s all the help she needs! If she wants your average response times to look better without actually making your system better, all she has to do is introduce a gazillion short-duration task executions (whether anybody wants the output of those executions or not). This will reduce the reported average response time for everyone. But the actual experiences that your users feel will be worse, because the system is busier ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access