Draining While It Fills

An outage left 2,400,000 messages in a work queue. New messages keep arriving at a steady 900 per second, and each consumer sustains 6.5 messages per second. You want the backlog empty within 40 minutes.

How many consumers do you need?

A

1900, because the fleet has to move 1,900 messages per second and you need one consumer per message per second

B

293, because the fleet has to serve the arrival rate plus the drain rate: ⌈(900+2,400,0002400)/6.5⌉\lceil (900 + \frac{2{,}400{,}000}{2400}) / 6.5 \rceil

C

154, because the backlog is what you are draining: ⌈2,400,0002400×6.5⌉\lceil \frac{2{,}400{,}000}{2400 \times 6.5} \rceil

D

139, because you size the fleet to the arrival rate: ⌈9006.5⌉\lceil \frac{900}{6.5} \rceil