Jan-Frode Myklebust
2012-Feb-13 13:54 UTC
[Dovecot] IMAP-proxy or not with sogo webmail and dovecot backend
We've been collecting some stats to see what kind of benefits UP/SquirrelMail's IMAP Proxy in for our SOGo webmail users. Dovecot is running in High-performance mode http://wiki2.dovecot.org/LoginProcess with authentication caching http://wiki2.dovecot.org/Authentication/Caching During the weekend two servers (webmail3 and webmail4) has been running with local imapproxy and two servers without (webmail1 and webmail2). Each server has served about 1 million http requests, over 3 days. server avg. response time # requests ---------------------------------------------------- webmail1.example.net 0.370411 1092386 webmail2.example.net 0.374227 1045141 webmail3.example.net 0.378097 1043919 imapproxy webmail4.example.net 0.378593 1028653 imapproxy ONLY requests that took more than 5 seconds to process: server avg. response time # requests ---------------------------------------------------- webmail1.example.net 26.048 1125 webmail2.example.net 26.2997 1080 webmail3.example.net 28.5596 808 imapproxy webmail4.example.net 27.1004 964 imapproxy ONLY requests that took more than 10 seconds to process: server avg. response time # requests ---------------------------------------------------- webmail1.example.net 49.1407 516 webmail2.example.net 53.0139 459 webmail3.example.net 59.7906 333 imapproxy webmail4.example.net 58.167 384 imapproxy The responstimes are not very fast, but they do seem to support the claim that an imapproxy isn't needed for dovecot. -jf
Timo Sirainen
2012-Feb-13 14:14 UTC
[Dovecot] IMAP-proxy or not with sogo webmail and dovecot backend
On 13.2.2012, at 15.54, Jan-Frode Myklebust wrote:> The responstimes are not very fast, but they do seem to support > the claim that an imapproxy isn't needed for dovecot.That's what I always suspected, but good to have someone actually test it. :) This is with Maildir? Other things that would be interesting to try out (both from latency and disk IO usage point of view): - maildir_very_dirty_syncs - mail_prefetch_count (Linux+maildir only, v2.1+)
Mark Moseley
2012-Feb-13 19:08 UTC
[Dovecot] IMAP-proxy or not with sogo webmail and dovecot backend
On Mon, Feb 13, 2012 at 5:54 AM, Jan-Frode Myklebust <janfrode at tanso.net> wrote:> We've been collecting some stats to see what kind of benefits > UP/SquirrelMail's IMAP Proxy in for our SOGo webmail users. Dovecot is > running in High-performance mode http://wiki2.dovecot.org/LoginProcess > with authentication caching http://wiki2.dovecot.org/Authentication/Caching > > During the weekend two servers (webmail3 and webmail4) has been running > with local imapproxy and two servers without (webmail1 and webmail2). Each > server has served about 1 million http requests, over 3 days. > > server ? ? ? ? ?avg. response time ? ? ?# requests > ---------------------------------------------------- > webmail1.example.net ? 0.370411 ? ? ? ?1092386 > webmail2.example.net ? 0.374227 ? ? ? ?1045141 > webmail3.example.net ? 0.378097 ? ? ? ?1043919 ?imapproxy > webmail4.example.net ? 0.378593 ? ? ? ?1028653 ?imapproxy > > > ONLY requests that took more than 5 seconds to process: > > server ? ? ? ? ?avg. response time ? ? ?# requests > ---------------------------------------------------- > webmail1.example.net ? 26.048 ? ? ? ? ?1125 > webmail2.example.net ? 26.2997 ? ? ? ? 1080 > webmail3.example.net ? 28.5596 ? ? ? ? 808 ? ? ?imapproxy > webmail4.example.net ? 27.1004 ? ? ? ? 964 ? ? ?imapproxy > > ONLY requests that took more than 10 seconds to process: > > server ? ? ? ? ?avg. response time ? ? ?# requests > ---------------------------------------------------- > webmail1.example.net ? 49.1407 ? ? ? ? 516 > webmail2.example.net ? 53.0139 ? ? ? ? 459 > webmail3.example.net ? 59.7906 ? ? ? ? 333 ? ? ?imapproxy > webmail4.example.net ? 58.167 ? ? ? ? ?384 ? ? ?imapproxy > > The responstimes are not very fast, but they do seem to support > the claim that an imapproxy isn't needed for dovecot.Out of curiosity, are you running dovecot locally on those webmail servers as well, or is it talking to remote dovecot servers? I ask because I'm looking at moving our webmail from an on-box setup to a remote pool to support director and was going to look into whether running imapproxyd would help there. We don't bother with it in the local setup, since dovecot is so fast, but remote (but still on a LAN) might be different. Though imapproxyd seems to make (wait for it...) squirrelmail unhappy (complains about IMAP errors, when sniffing shows none), though I've not bothered to debug it yet.
Michael M Slusarz
2012-Feb-13 20:24 UTC
[Dovecot] IMAP-proxy or not with sogo webmail and dovecot backend
Quoting Jan-Frode Myklebust <janfrode at tanso.net>:> We've been collecting some stats to see what kind of benefits > UP/SquirrelMail's IMAP Proxy in for our SOGo webmail users. Dovecot is > running in High-performance mode http://wiki2.dovecot.org/LoginProcess > with authentication caching http://wiki2.dovecot.org/Authentication/Caching > > During the weekend two servers (webmail3 and webmail4) has been running > with local imapproxy and two servers without (webmail1 and webmail2). Each > server has served about 1 million http requests, over 3 days. > > server avg. response time # requests > ---------------------------------------------------- > webmail1.example.net 0.370411 1092386 > webmail2.example.net 0.374227 1045141 > webmail3.example.net 0.378097 1043919 imapproxy > webmail4.example.net 0.378593 1028653 imapproxy > > > ONLY requests that took more than 5 seconds to process: > > server avg. response time # requests > ---------------------------------------------------- > webmail1.example.net 26.048 1125 > webmail2.example.net 26.2997 1080 > webmail3.example.net 28.5596 808 imapproxy > webmail4.example.net 27.1004 964 imapproxy > > ONLY requests that took more than 10 seconds to process: > > server avg. response time # requests > ---------------------------------------------------- > webmail1.example.net 49.1407 516 > webmail2.example.net 53.0139 459 > webmail3.example.net 59.7906 333 imapproxy > webmail4.example.net 58.167 384 imapproxy > > The responstimes are not very fast, but they do seem to support > the claim that an imapproxy isn't needed for dovecot.Except you are most likely NOT leveraging the truly interesting part of imapproxy - the ability to restore the IMAP connection state via the XPROXYREUSE status response. This is a significant performance improvement since it also reduces processing load on the client side (everything before/including authentication needs to be done whether using imapproxy or not, so there is no client-side savings for these commands). For further information, see, e.g.: http://lists.horde.org/archives/imp/Week-of-Mon-20110523/052316.html http://lists.horde.org/archives/imp/Week-of-Mon-20110523/052317.html These posts neglect the fact that you don't need to issue a CAPABILITY command if the connection is reused either, so that's an additional advantage. Note that the XPROXYREUSE-enabled MUA must be the exclusive user of the imapproxy instance for this feature to work correctly. Somewhat topical, since Timo was just mentioning support for some sort of IMAP state save/restore feature possibly making it into 2.2. michael
Ed W
2012-Feb-27 08:46 UTC
[Dovecot] IMAP-proxy or not with sogo webmail and dovecot backend
On 27/02/2012 08:34, Timo Sirainen wrote:> On Thu, 2012-02-23 at 01:41 +0200, Timo Sirainen wrote: > >> What do you need the statistics for? I could make imap_client and >> pop3_client support some virtual methods, like user.destroy() initially, >> which would be enough for your use. I guess I could add that for v2.2. > http://dovecot.org/patches/2.2/imap-logout-plugin.c > >Thanks - can I assume that a pop-logout would be basically the same? Also, how might I access the bytes in/out statistics from that context? Thanks Ed W
Timo Sirainen
2012-Feb-27 09:05 UTC
[Dovecot] IMAP-proxy or not with sogo webmail and dovecot backend
On Mon, 2012-02-27 at 08:46 +0000, Ed W wrote:> On 27/02/2012 08:34, Timo Sirainen wrote: > > On Thu, 2012-02-23 at 01:41 +0200, Timo Sirainen wrote: > > > >> What do you need the statistics for? I could make imap_client and > >> pop3_client support some virtual methods, like user.destroy() initially, > >> which would be enough for your use. I guess I could add that for v2.2. > > http://dovecot.org/patches/2.2/imap-logout-plugin.c > > > > > > Thanks - can I assume that a pop-logout would be basically the same?Yes, basically s/imap/pop3.> Also, how might I access the bytes in/out statistics from that context?input: i_stream_get_absolute_offset(client->input) output: client->output->offset