I've seen the same performance problems with SquirrelMail and mailboxes ~5k or greater on a beefy(Dual Opteron, 4GB RAM) v20z server. I've also seen the problem on a webmail client I built, and roudcube.
Here are a couple of questions for you:
Are you possibly accessing your messages via IMAP over NFS(uber bad performance)? Is your disk slow?
/dev/sda to test disk speed )? How much memory is available on the machine you're using? Are you on a slow pipe?
The problem is more than likely a few things, hence the sporadic "it works fine"...."no it doesn't" emails I'm seeing on this subject.
First and foremost.....DISK IO is *HEAVY* with IMAP! Performance will
degrade with large amounts of messages, when over NFS, or on a slow drive.
Memory...hate to say it...but Apache/PHP likes to chew on memory.
Depending on your configuration(mod_php* vs cgi, etc) you will see more
performance issues when parsing thousands of messages over a socket
connection to an IMAP server.
Might also want to check your php.ini settings and look for
memory_limit. Default is 8M, you may want to tweak that...but don't be
too liberal..
Mark Edwards wrote:
On Feb 24, 2006, at 11:24 AM, phil wrote:
On Fri, 24 Feb 2006 11:09:47 -0800, Mark Edwards
mark@antsclimbtree.com wrote:Roundcube seems to have some difficulty dealing with large mailboxes (large meaning thousands of messages). It can manage indexing one of these, but if I try to actually show a message in a large mailbox, it basically hangs.
When this happens, the browser just sits there waiting for a reply, and I can do a 'top' on the server and watch the apache process just eat up memory until it finally dies.
It seems that Roundcube is digging through the mail and not releasing memory in some way, which becomes a problem as the mailbox size gets large. At least that's my theory.
Does anyone else observe this? This is with Apache 1.3.34, PHP 5.1.2, MySQL 4.1.18 and Cyrus 2.2.12, running on FreeBSD 4.11p14.
Is your SMTP server on the same box? If so, turn off caching in the config, that helped me out. For record, I have ~1100 messages in my Roundcube folder, and switching from/to this directory seems quick.
Oh, and I"m on Freebsd 6.0 with mySQL 4.x, Apache2, Dovecot 0.9If that doesn't help - what does /var/log/maillog say when this is
occuring?Caching is off, and I don't see what it has to do with SMTP. Its not
switching to/from the directory that causes the problem. Its viewing
a message within a directory that has thousands of messages. Viewing
a message in a box with 1000 or so messages is just fine on this
end. I can view a message in a box with 3000 messages, but it takes
a bit longer. If I try to view a message in a box with 7000, it bogs
down and eventually dies with a "Request timed out!" message in the
Roundcube display.I am not running anything that logs to /var/log/maillog, but my Cyrus
log and my Apache log for the relevant processes are uneventful.
Basically, Roundcube seems to be doing something that eats up memory
and time relative to the size of the mailbox being accessed, and if
the box is sufficiently large, it bogs down my system and times out.-- Mark Edwards