Quoting Jan-Frode Myklebust <janfrode@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