extremely poor performance with many maiboxes for 'list "" *'
lst_hoe01 at kwsoft.de
lst_hoe01 at kwsoft.de
Mon Apr 23 08:00:34 EDT 2007
Zitat von "Greg A. Woods" <woods-cyrus at weird.com>:
> I manage a single-instance server running v2.2.12 with a reasonably
> large number of mailboxes, using "mboxlist_db: flat":
>
> # wc -l /var/imap/mailboxes.db
> 40190 /var/imap/mailboxes.db
>
> On the hardware it runs on a grep through the mailboxes file using a
> non-trivial RE to match the user and ACL (in a manner I suspect is
> similar to 'list "" *') will complete in less than a second of CPU time.
>
> However imapd takes well over two minutes of CPU time to do the same
> thing -- an unbelievable, impossibly, long time for what should be a
> very trivial operation on so few records, relatively speaking. I would
> have expected that hardware to be able to process several tens of
> millions of records in two minutes of CPU time. I.e. whatever is being
> done is being done with three or four orders of magnitude too many
> instructions per record! This is a "flat" DB, but still!
>
> Unfortunately some clients, despite the advice of RFC 2683 Section
> 3.2.1.1, e.g. pine, frequently do things like this (or seem to),
> sometimes putting extraordinarily excessive load on the system when
> several do so at the same time (it's only a 4-CPU system :-)).
>
Not sure how the problem arises but maybe you want to use the
imapd.conf option foolstupidclients which changes the command from
"list *" to "list INBOX*" on the fly to get around your performance
problem.
Regards
Andreas
More information about the Info-cyrus
mailing list