[Dovecot] A large number of imap processes
Claude Frantz
claude at pc0312b.rz.unibw-muenchen.de
Thu Apr 24 17:05:53 EEST 2008
Timo Sirainen wrote:
>> I think that the large number of now running processes is the rebuilding
>> of the index. I am right here, Timo ?
>
> Index updates typically don't take long. Although if client fetches some
> metadata that isn't in cache file, Dovecot needs to open the messages
> and parse them. That takes some I/O. This can be avoided with v1.1 by
> using deliver, since it updates the cache file immediately.
I have tried it using deliver in the version dovecot-1.0.10-0_66.fc7.
Each delivery run was longer when using maildrop, but the load was too
high too. Do you think that in the version 1.1 the behavior would be
different ?
> Although I'm still not sure if that would help, because a lot of clients
> just download the entire message body automatically, which in any case
> causes I/O.
Most users here use thunderbird, outlook (and express) or a webmailer
using squirrelmail.
>> At the present time, the mailfilter language of
>> maildrop (and Courier) is used here in place of procmail used in the
>> past. I ignore if using dovecot's LDA could be a solution in this
>> environment. But the mailfilter language could be a problem. A migration
>> to sieve is not really a choice, in my opinion. I have never seen a good
>> sieve script testing software.
>
> Can you tell maildrop to deliver the message to a specific mailbox using
> an external command (i.e. calling deliver) instead of delivering itself?
Yes, it is possible and I have tried it. It is then necessary to include
the code in a mailfilter which finally calls deliver when the decision
has been made. Here again, the result was not really better. In fact, it
is difficult to make such a delivery via maidrop calling deliver as a
"standard" in a productive environment.
In order to circumvent the problem, I have now configured sendmail, the
MTA, in a little bit special manner: Incoming messages are stored in the
queue first and the delivery occurs only in the queue run. These are run
every 2 minutes, each run processes max. 150 messages. Incoming messages
are split in multiple ones having 4 recipients max. In this manner the
load can be limited at the expense of pass through time, if necessary.
Further, there are more (split) message in the queue. This is not really
a good "solution", but it will limit the problems a little bit. I'm
still looking for a better solution. NFS is still a problem.
Thanks a lot !
Claude
More information about the dovecot
mailing list