Chapter 61. Too Much of a Good Thing
In Oracle courses, I teach people about an application parameter whose setting can have a profound influence over response times.1 I show students that, for the particular application we’re studying, changing the value of this parameter from 1 to 2 will cut response time in half. Setting it to 4 cuts response time in half again. Setting it to 8, 16, 32, and 64 cuts it in half again four more times.
At this point, I say cheerfully, “Just think how fast this application would perform if we could set the parameter’s value to a million-trillion.” I pause for a few seconds to let that question sink in. Then I show them the punch line: when you try to use 16,384, you get an out-of-memory error. A response time of infinity.
This is the “bathtub-shaped curve” that engineers talk about. The left wall of the tub shows the happy goodness of response times getting better and better. Then there’s a flat spot at the bottom, where response times don’t improve perceptibly, as you continue doubling the parameter. And, inevitably, there’s a right wall, which forms the tub shape, where response time becomes—in this case—infinitely bad. The lesson: it’s vital to give this parameter a good value, but 16,384 is too much of a good thing.
To help lock that idea into my students’ minds, I like to tell the story of how I learned the “too much of a good thing” lesson ...
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