On Sun, Oct 26, 2008 at 10:15 AM, Timo Sirainen tss@iki.fi wrote:
On Sun, 2008-10-26 at 09:57 -0700, Brandon Lamb wrote:
basically I need to find out where to start looking to find out what is the problem with my dovecot pop3 setup. I switched from courier imap/pop3 to dovecot imap/pop3. I have had super high loads (40+ and overnight one server went to 511) and its been a nightmare fighting with this new setup for the last two weeks.
I did manage to narrow the problem down to it being with the pop3 part of dovecot. I am not sure why the load keeps going so high.
Usually this is because Dovecot wants to calculate the messages' virtual sizes. See maildir performance in http://wiki.dovecot.org/POP3Server. There were also some issues with this where Dovecot didn't always add the virtual size to dovecot-uidlist, but they were fixed in v1.1.5.
So the initial high loads are expected if your file names don't contain ,W=size in them, but after that it should slow down. Of course if your new messages don't contain ,W= in them either, the load is still higher than it could be (but then again, Courier does the same thing so it shouldn't be higher than with Courier).
One possibility would be to just make Dovecot violate POP3 spec and return file sizes as message sizes. Some servers like qmail-pop3d do that and they apparently work well enough.. This could be done by changing mail_get_virtual_size to mail_get_physical_size in src/pop3/client.c
Im willing to try this, I really dont want to go back to courier, dovecot just seems like a way cleaner setup. I found the line to edit so I will recompile and give that a try.
I did modify exim to add the W=size but it also required use_crlf and that seemed to break something else. I also found a couple posts saying to use INDEX=MEMORY for the pop3 part, but I didnt understand if that actually DISABLED pop3 using indexes or if it really stored something in memory, and if so what happens on a reboot, so I am confused on if i should tell the pop3 part to use the same /dovecot-index that I specified for imap.
I also dont know if I made so many changes that I didnt give any of them time to work themselves out. We were just in panic mode trying to put out fires hehe.