On Tuesday 31 Aug 2004 10:46 am, Timo Sirainen wrote:
Downside is that there can't be any preforked login processes waiting for new connections. I'm not sure how useful that is though. Normally it probably gives a few microseconds less latency, but in high load it should help some more.
Of course xinetd offers a lot of options to limit resource usage, so I suspect it might be the method of choice under load, especially if you use it to manage all the other mail related daemons on the server.
I'm curious are there any main stream IMAP/POP3 servers not using the "process per user" or "thread per user" model? As I wrote a proof of concept server using Java NBIO, for another application once, the idea being to implement a "staged event driven" architecture - but alas it didn't attract much interest. As this would presumably be the smart way to handle high load if context switching became the bottleneck.