I recently did a few updates to my diet libc
(http://www.fefe.de/dietlibc/) and it can now compile and link qmail.
Since the diet libc can also compile and link openssl, the STARTTLS
patch also works.

What's the difference, you ask?  This ps listing is on a box with qmail
dynamically linked against the glibc:

USER       PID %CPU %MEM  SIZE   RSS TTY STAT START   TIME COMMAND
qmaill   29527  0.0  0.1  1228   224  ?  S N Mar 12   0:16 splogger qmail 
qmailq   29543  0.0  0.0  1208   104  ?  S N Mar 12   0:03 qmail-clean 
qmailr   29529  0.0  0.1  1216   176  ?  S N Mar 12   0:00 qmail-rspawn 
qmails   29521  0.0  0.1  1260   172  ?  S N Mar 12   0:22 qmail-send 
root     29528  0.0  0.0  1216    80  ?  S N Mar 12   0:08 qmail-lspawn ./Maildir/ 


And this ps listing is from my home box, statically linked against the
diet libc:

USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
qmails     103  0.0  0.0    64   56 ?        S    18:55   0:00 qmail-send
qmaill     109  0.0  0.0    44   20 ?        S    18:55   0:00 splogger qmail
root       110  0.0  0.0    36   24 ?        S    18:55   0:00 qmail-lspawn ./Maildir/
qmailr     111  0.0  0.0    36   24 ?        S    18:55   0:00 qmail-rspawn
qmailq     112  0.0  0.0    24   16 ?        S    18:55   0:00 qmail-clean
root     11747  1.0  0.0    56   40 ?        S    22:46   0:00 
/usr/local/bin/tcpserver -u qmaild -g nofiles 0 smtp /var/qmail/b


Please note the drastically reduced memory requirements.  As you can
see, the process are running for many days on the first box, so unused
memory is already swapped out.  Not so on the second box.


Why is this significant?  Because it allows a much larger concurrency on
the same hardware.  More POP3 users, more concurrent local and remote
deliveries, more incoming SMTP connections.


How to reproduce.

  1. get the current diet libc from CVS, compile and install the "diet"
     wrapper program in your $PATH.
  2. get qmail, extract and possibly apply your favourite patches.
  3. set up conf-cc and conf-ld
       $ echo "diet gcc -pipe -Os -fomit-frame-pointer" > conf-cc
       $ echo "diet gcc -static -s" > conf-ld
  4. make and make setup qmail as usual.

That's it.  Good luck!

Felix

Reply via email to