We have been playing around with Dovecot
this week. Dovecot lets you compile with epoll support,
which can drastically improve the efficiency of applications that
handle a large number of concurrent of network connections.
Our current POP3/IMAP proxies run Perdition. Perdition uses "poll" – Linux’s old network event dispatcher. With "poll", performance suffers
when you start processing thousands of concurrent connections,
because it does a linear scan of socket file descriptors in order to
detect network events. The more connections you have, the more file
descriptors you have, and so the longer it takes to respond to network events. "epoll" does not need to do this linear scan, so the
response rate for network events is completely independent of the
number of network connections, making it much more scalable.
We got our first Dovecot proxy sever setup this morning. If you are brave, please
help us test it. Post your results to this blog post, especially if
you encounter any errors or weirdness…
Server Name: newproxy.mlsrvr.com
POP3, port 110 (plain text or TLS)
IMAP, port 143 (plain text or TLS)
POP3S, port 995 (SSL)
IMAPS, port 993 (SSL)
If you use TLS or SSL you will get a SSL security warning. Just ignore it.