4 ms·
i don't think some details of the argument hold. it alleges that you need more dynos to get the same throughput. but that's not true once you have sufficient
by andrewcooke 14y ago
i don't think some details of the argument hold. it alleges that you need more dynos to get the same throughput. but that's not true once you have sufficient demand to keep a queue of about sqrt(n) (i think - someone who knows more theory than me can correct me) in size on the dyno (where you have n dynos). because at that point all dynos will be running continuously, and the throughput will be the same with either routing.
the average latency will be higher, though (and the spread in latency larger).
- lil_tee 14y agoBut you never want to have a queue on any of your dynos! A queued request means that a user is waiting with no response. If your goal is to have 0 (or less than epsilon) requests queued, it takes far fewer dynos if the requests are routed intelligently If you have 10 dynos and 1000 simultaneous requests, the difference between naive and intelligent might well be reduced, but that's also a scenario in which your end user response times would be horrendously slow and so you'd need more dynos either way
- ratherbefuddled 14y agoI don't think the wording's great. It's not throughput that's important, it's throughput at an acceptable latency. You don't need 50x as many dynos to get the same throughput, you need 50x as many dynos to get the same latency characteristics at that throughput.