[Dovecot] dovecot performance
Sebastien Tandel
sebastien.tandel at corp.terra.com.br
Tue Aug 19 18:10:19 EEST 2008
On 16 Aug 2008, at 01:44, <tomas at tuxteam.de> <tomas at tuxteam.de> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On Fri, Aug 15, 2008 at 03:37:53PM -0300, Sebastien Tandel wrote:
>
> [...]
>
>>> [fork is fast]
>
>> OK, it measures the fork instruction. But fork is using a copy-on-
>> write
>> mechanism ... It means that *none* of the parent's memory pages
>> are copied.
>> Each page is simply *shared* by *all* the child /until/ a
>> modification is
>> made to it.Therefore this test obviously does not take into
>> account time
>> taken when modifying data. And I strongly suspect that dovecot is
>> not only
>> doing read-only access to memory when running. :-/
>
> Yep, but what can you do after pre-forking and before the request
> comes
> in?
>
> Thus I'd expect pre-forking not to save us much which can't be
> saved by
> prudent programming (save mentioned exception of > thousands of
> connects
> per second).
>
I don't really know the dovecot's code but I guess you can't save
much between pre-forking and request comes in. But after the request
comes in, you save a lot if you're re-using the same processes for
several users. Of course, as mentioned by Timo, you should be careful
about security concerns.
> We are now deeply in specula-land, I guess ;-)
Yes, we are in specula-land and can't get out of it without having a
reasonable prototype implementation of pre-fork in dovecot. :)
Regards,
Sebastien Tandel
More information about the dovecot
mailing list