Re: [Dovecot] Todays Performance Data for 2.0.x
Dividing the imap processes's system CPU usage by number of imap processes:
imap : 0.478872 of 975 imap : 0.460797 of 1242 imap : 0.409641 of 2482 imap : 0.424035 of 4711 imap : 0.488494 of 6148 imap : 0.56809 of 7031 imap : 0.734864 of 6965
So it's about 0.5 seconds of system CPU per imap login. I also get something like 0.3 seconds of system CPU per imap login on my system.
Also setting:
service imap { service_count = 0 }
(i.e. reuse imap processes) reduced the system CPU usage to almost nothing. But if you use different UIDs for different users you can't do that.
So, yeah, looks like the process initialization is wasting time somewhere. I'll look further into it.
- Timo Sirainen tss@iki.fi:
Dividing the imap processes's system CPU usage by number of imap processes:
imap : 0.478872 of 975 imap : 0.460797 of 1242 imap : 0.409641 of 2482 imap : 0.424035 of 4711 imap : 0.488494 of 6148 imap : 0.56809 of 7031 imap : 0.734864 of 6965
So it's about 0.5 seconds of system CPU per imap login. I also get something like 0.3 seconds of system CPU per imap login on my system.
OK
Also setting:
service imap { service_count = 0 }
(i.e. reuse imap processes) reduced the system CPU usage to almost nothing. But if you use different UIDs for different users you can't do that.
Yes, unfortunately :(
So, yeah, looks like the process initialization is wasting time somewhere. I'll look further into it.
Thanks a lot!
-- Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt@charite.de | http://www.charite.de
On Tue, 2010-11-09 at 20:56 +0100, Ralf Hildebrandt wrote:
So, yeah, looks like the process initialization is wasting time somewhere. I'll look further into it.
Thanks a lot!
Hmm. I added a few minor optimizations to hg, which probably don't help all that much. Removing config and auth-master lookups didn't make much of a difference, so I don't think those are the main problem.
I haven't yet seen any logparse lines about master, log or anvil processes. Also the auth processes were probably auth workers, not the master auth process. Do you have those? (They won't be logged until you stop Dovecot.)
You could also next time try "configure --without-shared-libs", maybe that makes some difference since there's less work for ld.so at startup.
Looking at your config.. This isn't doing anything useful anymore in v2.0, just wasting some CPU:
service imap { drop_priv_before_exec = yes }
Same for pop3/managesieve.
Also I remember asking about passdb shadow and you said it's because of master users. I think you could avoid that by just removing pass=yes from the master passdb. If you try to log in with invalid username, the userdb lookup should fail later.
- Timo Sirainen tss@iki.fi:
Hmm. I added a few minor optimizations to hg, which probably don't help all that much. Removing config and auth-master lookups didn't make much of a difference, so I don't think those are the main problem.
I haven't yet seen any logparse lines about master, log or anvil processes. Also the auth processes were probably auth workers, not the master auth process. Do you have those? (They won't be logged until you stop Dovecot.)
Oh, I'll recompile from hg and let 2.0 run until tomorrow noon. Then I should have some logging after stopping it.
You could also next time try "configure --without-shared-libs", maybe that makes some difference since there's less work for ld.so at startup.
I'll do this as well. Recompiling as I write.
Looking at your config.. This isn't doing anything useful anymore in v2.0, just wasting some CPU:
service imap { drop_priv_before_exec = yes } Same for pop3/managesieve.
I removed those now!
Also I remember asking about passdb shadow and you said it's because of master users. I think you could avoid that by just removing pass=yes from the master passdb. If you try to log in with invalid username, the userdb lookup should fail later.
-- Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt@charite.de | http://www.charite.de
participants (2)
-
Ralf Hildebrandt
-
Timo Sirainen