apache httpd performance

Cheffo cheffo at FreeBSD-BG.org
Sat Apr 21 15:45:47 UTC 2007


Hello,

I'm running simple benchmark, ab (freebsd) -> apache 1.3.37 (freebsd)
and ab (freebsd) -> apache 1.3.34 (linux)
I do not pretend that the benchmark is accurate :) and do not really 
care about results in linux, but they are here just for comparison.


ab -t 30 -c 100 http://boar.cmotd.com:81/manual/ (boar is freebsd)

Finished 26678 requests
Server Software:        Apache/1.3.37
Server Hostname:        boar.cmotd.com
Server Port:            81

Document Path:          /manual/
Document Length:        9364 bytes

Concurrency Level:      100
Time taken for tests:   30.000 seconds
Complete requests:      26678
Failed requests:        0
Broken pipe errors:     0
Total transferred:      260937758 bytes
HTML transferred:       249863898 bytes
Requests per second:    889.27 [#/sec] (mean)
Time per request:       112.45 [ms] (mean)
Time per request:       1.12 [ms] (mean, across all concurrent requests)
Transfer rate:          8697.93 [Kbytes/sec] received

And this is what I have when the host is linux (some version of ubuntu 
not tunned just base install)

ab -t 30 -c 100 http://dany.cmotd.com:80/manual/

Server Software:        Apache/1.3.34
Server Hostname:        dany.cmotd.com
Server Port:            80

Document Path:          /manual/
Document Length:        9158 bytes

Concurrency Level:      100
Time taken for tests:   30.000 seconds
Complete requests:      32848
Failed requests:        0
Broken pipe errors:     0
Total transferred:      309841821 bytes
HTML transferred:       300932967 bytes
Requests per second:    1094.93 [#/sec] (mean)
Time per request:       91.33 [ms] (mean)
Time per request:       0.91 [ms] (mean, across all concurrent requests)
Transfer rate:          10328.06 [Kbytes/sec] received


changing "-c" from 100 to 500 doesn't show big difference in final results.

What can I do to improve my freebsd web server ?

cat /etc/sysctl.conf
kern.fallback_elf_brand=3
net.inet.ip.random_id=1 (I changed this 0, but nothing changed)
kern.maxfiles=25000
net.inet.tcp.delayed_ack=0
net.inet.tcp.inflight.enable: 0 (0/1 does not make difference)

CPU: AMD Athlon(tm) 64 Processor 3200+ (2002.57-MHz K8-class CPU)
FreeBSD 6.2-STABLE amd64

both httpd.conf have:
MinSpareServers 10
MaxSpareServers 20
MaxClients 500
MaxRequestsPerChild 0
StartServers 10

And yes I know "StartServers 10" is not optimal for benchmarking, but 
this is not the problem.

I also found that increasing kern.ipc.maxsockets to 16384+
give a boost and "completed requests" jump to: 28067
but it is still not 32K :)
Increasing kern.ipc.nmbclusters doesn't change the picture at all.

What else I can change/test to improve performance?

-- 

Best Wishes,
Stefan Lambrev
ICQ# 24134177


More information about the freebsd-performance mailing list