[Dovecot] o/s tuning for imap
Kyle Wheeler
kyle-dovecot at memoryhole.net
Fri Sep 7 19:36:50 EEST 2007
On Thursday, September 6 at 02:59 PM, quoth Ken A:
>> We found that on our server, *not* using imapproxy improved our
>> performance. We used to use imapproxy to great effect when we were
>> using BincIMAP, but Dovecot is so darn fast (and caches its own
>> authentication) that all imapproxy added was additional
>> inter-process communication (translation: slower than just using
>> Dovecot alone).
>
> My understanding is that webmail clients like squirrelmail open,
> then close connections on each http transaction that requires a
> connection to the imap server, so imapproxy's caching of connections
> saves you having to re-open connections to the backend server.
Yes it does, you are exactly correct. HOWEVER, here's something to
keep in mind: is that really a problem? Consider, for example, that
you're not saving any "making a new connection" overhead, because your
webmail client is still making a new connection to the imapproxy. So,
connection setup and teardown is still there. If your backend is on
another machine and your proxy is on localhost, what you're really
doing is moving the setup and teardown from being done over the
network to being done over the loopback interface. If your network is
particularly busy, this *can* be a win, but it may not provide much
benefit if the connection from webmail server to imap server is a fast
ethernet connection with not much else to do.
The other thing that an imapproxy changes is it means that the webmail
client doesn't have to re-authenticate every time; it caches the
string that the webmail client sent before, and if there's a
connection open that was approved with those authentication strings,
you get it. Thus something that might require some hashing and
possibly an ldap-lookup gets turned into a simple strcmp(). BUT
dovecot does this already, with its authentication server. So
imapproxy isn't providing much of a win there either (with dovecot).
You have to consider what the proxy is actually saving you, and
whether it's worth it. The backend server isn't typically connection
starved (and if it is, then you haven't configured it properly).
> That's essentially why my original question included "what about
> time_wait", since I was concerned that squirrelmail could leave a
> LOT of connections in a TIME_WAIT state.
That's a fair observation, but it's not going to leave any fewer
connections in such a state if it's connecting to the proxy server
rather than dovecot.
Personally, on my squirrelmail installation, most users have about
five or so connections in TIME_WAIT while they're actively using
webmail. Thus far that hasn't been a problem, but I don't have a
heavily loaded webmail service.
~Kyle
--
University politics are vicious precisely because the stakes are so
small.
-- Henry Kissinger
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://dovecot.org/pipermail/dovecot/attachments/20070907/6702e67a/attachment.bin
More information about the dovecot
mailing list