| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
Linux Kernel 2.4.27-A3 Tux 3.0 userland Apache 1.3 two machines connected via 100 TX full duplex private LAN on Cisco Cat 2948g-l3. This weekend while working with Tux on another machine I noticed a very strange trait. While it didn't make a lot of sense at the time, I chalked it up to my wifi network and benchmarks run at home on a 'less than perfect' setup. But, something just didn't feel right. With a site with a standard page, I run ab 10 times in a row with the same parameters and take the average of the last 5 runs. ab -n 1000 -c 20 http://url.com/ ab -n 1000 -c 20 http://url.com/? (to send it to the backend) Tux consistently performs around 2400 transactions per second Apache fairly consistently performs around 960 transactions per second However, Tux handing the request to the backend can barely manage 280 transactions per second. Apache2-prefork as a backend managed 330 tps and Apache2-mpm-worker handled about 400 tps. Conversely, Apache2-prefork handled 1240 tps and Apache2-mpm-worker handled 1225 tps when acting as the frontend. Keepalives seemed to make no real difference in any of the results. Even -n 10000 -c 50 made little difference to apache, but Tux actually served even faster. Passing to the backend with -n 10000 -c 50 really made little difference compared to the prior results for each run of Apache on the backend. Granted there should be some overhead to handing the request to the backend, but that is a considerable performance hit -- its a little more than 3x slower for any request that needs to be handed to the backend. I'll redo the testing using Tux 2.6, but cannot deploy with 2.6 currently. I don't recall there being this much separation before -- I thought I remmebered a difference of 50-100 transactions per second for requests handed to the backend. sysctl.tux net/tux/virtual_server = 1 net/tux/clientport = 81 net/tux/referer_logging = 1 net/tux/compression = 0 net/tux/logging = 0 net/tux/max_keepalives = 1000 net/tux/keepalive_timeout = 30 net/tux/nonagle = 0 net/tux/TDprintk = 0 net/tux/Dprintk = 0 # these do seem to make it faster net/tux/generate_cache_control = 1 net/tux/generate_etags = 1 net/tux/generate_last_mod = 0 net/tux/defer_accept = 0
[Older Fedora Users Mail] [Home] [Fedora Legacy] [Fedora Desktop] [iPod Nano] [ATA RAID] [Fedora Bible] [Fedora Marketing] [Fedora Mentors] [Fedora Packaging] [Fedora SELinux] [Big List of Linux Books] [Yosemite News] [Yosemite Photos] [KDE Users] [Fedora Tools] [Fedora Docs]