Definition · Daily profileA daily profile is the request count in each of the twenty-four hours of a day. Its mean rate is the daily total over 86 400 seconds; its peak rate is the busiest bucket over 3 600 seconds. The provisioning multiplier is the ratio of the two.
Both rates are computed from the same twenty-four numbers and neither is more real than the other. The mean is what the day cost; the peak is what the day required. A capacity estimate that reports one without the other has answered half a question, and usually the half that does not determine whether the system works.
daily total 456 000 000 req/day
÷ 86 400 s/day mean 5 277.78 req/s
busiest bucket (21:00) 46 000 000 req/hour
÷ 3 600 s/hour peak 12 777.78 req/s
peak / mean = 24 · 46 000 000 / 456 000 000 = 46/19 = 2.421×
shortfall = 12 777.78 − 5 277.78 = 7 500 req/s
The middle line is worth dwelling on. Peak over mean is 24 · peak bucket / daily total — both ends integers, so the multiplier is an exact fraction and is completely independent of how big the day is. Double every bucket and the ratio does not move; change the shape of the day and it does. The multiplier is a statement about shape and nothing else.
Example · A consumer app with an eveningTwenty-four buckets rising to 46 000 000 requests at 21:00 and falling to 10 000 000 in the quiet hours; 456 000 000 requests over the day. The mean is 5 277.78 a second, the peak is 12 777.78, and the multiplier is 46/19. Anyone who sized this system from the daily total alone has built for 5 277.78 and will be 7 500 requests a second short every evening.
Two point four is not a rule
It is this profile’s answer. Flatten the shape in the lab — an internal service with no daily rhythm — and the multiplier falls to exactly 1, because the peak bucket is the mean bucket. Switch to the broadcast example, where one hour carries the day, and it rises to 26/3, about 8.667×. Three systems, one arithmetic, multipliers an order of magnitude apart.
So the estimate to distrust is the one that says “call it 2× for peak”. The multiplier is one of the few figures on this course that can be measured directly and cheaply from data the system already produces, and a measured one collapses a factor that would otherwise be carried as a ranged guess all the way to the machine count.
What an hourly bucket cannot see
The peak this profile reports is the busiest hour, which is itself an average over 3 600 seconds. A five-minute burst inside that hour is flattened by the bucket and does not appear. So the multiplier computed here is a lower bound on the one a finer profile would give: bucket the same day by minute and the peak can only rise or stay the same, never fall.
That is the assumption to say out loud whenever this number is quoted. “Peak over mean is 2.421, measured hourly” is a complete statement; without the last two words it is a claim about a resolution nobody chose deliberately. Where the burstiness inside a bucket is the thing that matters, the tools are in “Queues and Utilisation” — this lesson is about the shape of the day, not the shape of a minute.
One more thing the profile does not carry: the read/write mix moves with it. A daily ratio of 100:1 can be a different ratio in the busiest hour, and the rates that get sized are the peak-hour ones. If the profile is being measured anyway, it costs nothing to bucket the two request kinds separately and find out.