34 ms·
The Grocery Store Analogy
- dclowd9901 14y agoYet another analogy to explain why bottlenecking is bad. Do we really need such trivialties in these parts?
- j_baker 14y agoThis kind of analogy is useful to have on hand to explain things to non-technical people, who may not grasp the subtleties of threading vs asynchronicity.
- btown 14y agoOr for really non-technical people who don't understand scaling and scalability at all, and expect that once you launch, all that's left is adding more features.
- magic_haze 14y agoOff topic, but when talking about evented/continuation based systems, I'm surprised the c# approach with the async/await keywords isn't brought up more often. For those unfamiliar, those rather confusingly named keywords make the program compile down to a continuation passing style, while still letting the source look synchronous. Makes the code _much_ easier to handle.
- deleted 14y ago[deleted]
- agentS 14y agoAgreed, it is pretty awesome.
- elitrium 14y agoBeing a bit inspired by the design on the Svbtle network, I'm surprised you didn't go with proxima-nova.
- stock_toaster 14y agoNow I feel the need to go buy some bacon.
- dllthomas 14y agoYeah, I'd be part of that 90%, too...
- snorkel 14y agoThe Grocery Checkout is a better analogy for understanding how to tune lower level settings that affect web site performance such as max open file handles, timeout, and total worker threads. Overall you're trying to maximize * how many checkout lanes are open (total worker threads, max file handles, max port per connection) * how are customers directed toward the shortest line (load balancing strategy, poll vs. epoll vs. select vs. accept) * how many items can each customer pay for at once (keepalive, persisting connections) * how many customers can stand in each lane (receive buffer depth) * how long to wait for a sleepy customer to put their items on the counter before kicking them out of line (timeout) You can observe real world traffic jam scenarios in actual checkout lanes and easily picture the same thing happening in a web server stack, and fortunately each layer of the web stack gives you settings to open as many lanes as your servers can handle and keep those lanes moving.
- pavel_lishin 14y agoI have no idea what the site was waiting for, but until that request completed, all of the text was invisible: http://i.imgur.com/HO0oW.png http://i.imgur.com/HO0oW.png