Mongrel Timeout / Throttle Misnomer
Earlier today I made an intriguing discovery while perusing through the Mongrel documentation. Perhaps an oversight on my part, but arguably also a real misnomer by Zed: the timeout (-t) config flag is exactly the last thing I would expect it to be - a throttle mechanism! I've gone around setting up my mongrel clusters and recommending mongrel configs to dozens of people not realizing the unintended behavior. Hence, while I can't claim that this has adversely affected the overall performance, it's definitely something to be cautious about.
Timeouts are really a throttle
Viewing the usual help flag on the command line for mongrel_cluster presented me with a nifty timeout (-t) option which I quickly adopted in all my configs. Intuitively, I expected the timeout flag to resemble the Apache config: kill threads and/or stale clients which reach the timeout time period threshold. Apparently, this is not so:
-t, timeout (:timeout) Time to pause between accepting clients. Used as a throttle mechanism. * Default: 0
The saving grace for most people is the fact that the throttle is defaulted to 0 (off). Having said that, I think you should be aware of this misnomer and I hope that Zed will address this issue in some future release.
Monitoring Mongrel: Monit makes Mongrel play nice!
Ilya Grigorik is a web performance engineer and developer advocate on the Make The Web Fast team at Google, where he spends his days and nights on making the web fast and driving adoption of performance best practices.
Follow @igrigorik