On 16 Aug 2008, at 01:44, <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> 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

Reply via email to