Date: Fri, 16 Apr 1999 12:05:05 +0100 From: Geoff Buckingham <geoffb@demon.net> To: freebsd-hackers@freebsd.org Subject: Re: NT4 server 2.5 times faster than Linux Message-ID: <19990416120505.J3680@gti.noc.demon.net>
next in thread | raw e-mail | index | archive | help
I believe the test would have had similar results even if the Linux install had been tuned: This isn't to say the test was fair however.... Anyone considering benchmarking FreeBSD (or Linux) with specweb or similar should remember the following. Apache is an entirely inappropriate choice of httpd for performance work, any good apache benchmarks you see will are likely to have been achieved running apache on a non standard port and a caching accelerator on port 80. The problem with apache is you will not get the big numbers you want from the tests because apache requires a process per client. For better results I would suggest zeus or thttpd. http://www.zeus.co.uk Anyone seriously persuing this may be able to get some help from zeus, including information on enabeling the use of sendfile with Zeus (maybe) http://www.acme.com thttpd is a nice open source httpd that people could base a performance httpd on. Basically you need to agressivly mmap the test data set, sendfile would be another nice addition. The next problem for FreeBSD is the giant lock, all your httpds want to push data through the system. My own preliminary work shows a performance drop when running SMP to benchmark apache. You burn most of your CPU spinning waiting on the giant lock. I am not sure how devolved linux's lock is, however this is likely to cause them problems too as everyting wants to use the network. There is no easy way round the above any serious benckmarking should perhaps initially be done uniprocesser. I have no knowledge of how the giant lock is likely to break down. Is it likely that individual interfaces may get ther own locks? If you do run SMP and have a single process httpd you will need multiple processes (unless it is threaded, avoid thread per client implimentations) :-) More general points. Specweb requires you to write full logs during the benchmark, you need stripped disks for this. Memory, you want to get your whole data set into memory. Network, you need a lot. For PCs you are probably best going for the 64bit Alteon nics.(Do they do checksumming yet?) TCP extensions, most of these are intended for WANs you should experiment with disabeling these. There is probably more i have forgotten..... -- GeoffB To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990416120505.J3680>