The master process exec's the mail process (imap or pop3) after fork.
gpg
2008/8/15 Sebastien Tandel sebastien.tandel@corp.terra.com.br:
Hi,
It is well known that preforking is a good pratice if you want to achieve a higher performance. When I was asked about it I readily answered: "of course it does". For my surprise later, i doesn't.
With fork latencies in the range of 500 to 1500 microseconds (on Pentium 900 MHz-class hardware!) on most modern kernels[1] I wonder whether this "good practice" isn't on the verge of voodoo ;-)
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. :-/
P.S. : I'm not saying though it is mandatory to have such a mechanism in dovecot ;)
Regards, Sebastien
(Of course, in a http server, where you might expect thousands of connects per second, this is another story -- which is mitigated by HTTP 1.1, when properly streaming several requests per connection).
[1] http://bulk.fefe.de/scalability/, search "The fork benchmark"
Regards
- -- tomás -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFIpR1XBcgs9XrR2kYRAqPdAJ0dbp+fUW0MpWdNvXa3SUvXP3v3eQCcCsTS hFbhMpoG+OjI4i+za6xNn+4= =SRgx -----END PGP SIGNATURE-----