select.h FD_SETSIZE and Qmail-Postfix test

Martin Badie martinbadie at yahoo.com
Sat Mar 7 13:22:56 PST 2009


Hi,

There is a test that I am doing with FreeBSD and Linux. This test involves qmail and postfix comparison. Both FreeBSD and Linux seems to have 1024 File Descriptor limit. (FD_SETSIZE in select.h in FreeBSD) .

To have a better concurrency in qmail on smtp level. I have used a patch named big-todo patch also used big-concurrency patch. These patches helps me to increase concurrency in operating system. I set concurrent connection to 500(tcpserver -c 500). There is no problem until around 400-500 active smtp connection. But if the total smtp connection exceeds 500, load average increases to ~40-50 but cpu system time arises to %50-60.  The strange issue is that, this load increases when the connection is limited to accept 500 connections but the tool I use is configured to 700 (more than 500) connections. Normally ucspi-tcp software limits connection to 500 ( -c 500) I suspect it is something to do with Operating system level.

Additionally I have also patched FreeBSD kernel with 4096 FD_SETSIZE in select.h in kernel and booted with that kernel. I have also compiled qmail from scratch to accept 2040 connections (in conf-spawn) but there is no change I mean I still can't get more than decent 500 connections with acceptable load average. 

I have also used postfix on both Linux FreeBSD:

default_process_limit =  500    
smtpd_client_connection_count_limit = 500

but I still get strange load when connection raises more than 500

I suspect something is missing or need to be configured on the operating system level (both Linux and FreeBSD)



      


More information about the freebsd-hackers mailing list