After running an OS shootout between Linux, FreeBSD, Windows
2000, and Solaris (in which Linux took top honors), SysAdmin got a
shellacking of mail from "unhappy" FreeBSD advocates thanks to a
configuration choice that didn't reflect the real world too well.
New results are now in based on the appropriate tweak:
"After the FreeBSD tweaks, we found that FreeBSD tuned
had very similar performance to Linux (untuned) when running 1000
or less simultaneous sends. Overall, the tuned version of FreeBSD
was 27% faster at sending email than the untuned version. FreeBSD
mail sending performance peaked at 1000 to 1500 simultaneous sends,
and then steadily declined as simultaneous connections increased.
In the previously published test, we had been unable to run with
3000 connections. Now, with the 17 FreeBSD OS patches (including
patches that our readers felt should fix this problem), we were
frequently able to run at 3000 connections, but not much beyond
that, and not consistently with 3000. In our program, the bind()
system call failed sometimes with the EAGAIN error, other times
with an EBADF error. This did not occur in the other operating
systems. Both of these errors would indicate some sort of operating
system resource shortage or system limit. Some of our readers wrote
that they were aware of other FreeBSD sites that went well beyond
these numbers of simultaneous connections, but none of the OS
patches suggested allowed us to work around this limit. With
overall mailing performance declining steadily, if mailing speed
were the goal, it would not make sense to load FreeBSD with more
than 1500 simultaneous sends.
For applications that are disk intensive, we recommend that
systems administrators configure their FreeBSD system to use the
async option (or use soft updates for more reliability). Our hard
disk benchmark was 3.8 times faster with the asynchronous FreeBSD
file system, and its performance was in line with Windows 2000 and
Linux (slightly faster at times, and slightly slower at other
times, depending on the file size). In our real-world MailEngine
test, we found that a tuned version of FreeBSD was as fast as an
untuned version of Linux, for connection levels of 1500 sends or
fewer, with FreeBSD performance declining steadily at simultaneous
connection levels above 1500."