Siege benchmark test #3: Internet mode
Re-ran the test as I added a 4th OpenVZ based VPS (web4) to the Haproxy load balance. This 4th VPS is with a different web host from the other 3x VPS, but also located in Chicago area. The 4th VPS has more memory but less disk space than the other 3x VPS at 1GB guaranteed but with 30GB disk space but still with CentOS 6.0 32bit OS.
I also adjusted the Haproxy load balancer settings dropping each servers maxconn from 4096 to 512 and adjusted the weight distribution for the 4x VPS. As web3 is both the primary Haproxy load balancer as well as secondary Nginx web server, I reduced web3's weight distribution in the VPS server cluster from 25% to 1/7th ~14.3 % while the other 3x VPS (web1, web2, web4) each had 2/7th ~28.6% weight distribution. For Siege benchmark also reduced the delay from max 5 to 3 seconds. Read below for the results.
Created text file centminmod.txt - entering site url links one per line.
http://centmin.sh/index.html http://centmin.sh/faq.html http://centmin.sh/changelog.html http://centmin.sh/siegebenchmark_nginx.html http://centmin.sh/apachebench_nginx.html
Ran Siege benchmark in internet mode with 300 concurrent users and 100 repetitions with a 0-3 second delay. I wrote a logstats.sh bash script which logs top and free -m stats output every 1 second for web1, web2, web3 and web4 servers. The logstats.sh bash script then allows filtering output by cpu and memory stats to figure out peak cpu and memory usage loads.
siege -i -c300 -r100 -d3 -f centminmod.txt ** SIEGE 2.70 ** Preparing 300 concurrent users for battle. The server is now under siege... HTTP/1.1 200 0.10 secs: 3633 bytes ==> /siegebenchmark_nginx.html HTTP/1.1 200 0.11 secs: 2822 bytes ==> /apachebench_nginx.html HTTP/1.1 200 0.11 secs: 2822 bytes ==> /apachebench_nginx.html HTTP/1.1 200 0.12 secs: 2822 bytes ==> /apachebench_nginx.html HTTP/1.1 200 0.12 secs: 2822 bytes ==> /apachebench_nginx.html HTTP/1.1 200 0.12 secs: 3633 bytes ==> /siegebenchmark_nginx.html HTTP/1.1 200 0.11 secs: 3633 bytes ==> /siegebenchmark_nginx.html HTTP/1.1 200 0.11 secs: 2822 bytes ==> /apachebench_nginx.html HTTP/1.1 200 0.12 secs: 2822 bytes ==> /apachebench_nginx.html HTTP/1.1 200 0.12 secs: 3633 bytes ==> /siegebenchmark_nginx.html HTTP/1.1 200 0.12 secs: 3633 bytes ==> /siegebenchmark_nginx.html HTTP/1.1 200 0.12 secs: 3633 bytes ==> /siegebenchmark_nginx.html HTTP/1.1 200 0.12 secs: 2822 bytes ==> /apachebench_nginx.html HTTP/1.1 200 0.16 secs: 6686 bytes ==> /faq.html HTTP/1.1 200 0.17 secs: 4029 bytes ==> /index.html HTTP/1.1 200 0.17 secs: 6686 bytes ==> /faq.html HTTP/1.1 200 0.17 secs: 4029 bytes ==> /index.html HTTP/1.1 200 0.17 secs: 4029 bytes ==> /index.html HTTP/1.1 200 0.17 secs: 4029 bytes ==> /index.html HTTP/1.1 200 0.18 secs: 4029 bytes ==> /index.html HTTP/1.1 200 0.18 secs: 6686 bytes ==> /faq.html HTTP/1.1 200 0.18 secs: 6686 bytes ==> /faq.html HTTP/1.1 200 0.17 secs: 6686 bytes ==> /faq.html HTTP/1.1 200 0.18 secs: 4029 bytes ==> /index.html HTTP/1.1 200 0.18 secs: 6686 bytes ==> /faq.html HTTP/1.1 200 0.19 secs: 5880 bytes ==> /changelog.html HTTP/1.1 200 0.19 secs: 6686 bytes ==> /faq.html done. Transactions: 30000 hits Availability: 100.00 % Elapsed time: 198.92 secs Data transferred: 128.80 MB Response time: 0.20 secs Transaction rate: 150.81 trans/sec Throughput: 0.65 MB/sec Concurrency: 30.15 Successful transactions: 30000 Failed transactions: 0 Longest transaction: 3.37 Shortest transaction: 0.10
Haproxy load balancer + Centmin Mod Nginx web 3. Peaked at 0.87, 0.39, 0.16 cpu load which is better than previous 3x VPS load balanced test which peaked at cpu load of 1.3. Also stopped memcached and MySQL on web3 hence lower memory usage from previous peak 138MB to now 76MB
--------------------------------------------------------------------------- top - 11:34:00 up 36 days, 22:16, 1 user, load average: 0.87, 0.39, 0.16 Tasks: 24 total, 2 running, 22 sleeping, 0 stopped, 0 zombie Cpu0 : 0.1%us, 0.2%sy, 0.0%ni, 99.5%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 0.1%us, 0.1%sy, 0.0%ni, 99.5%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1048576k total, 78612k used, 969964k free, 0k buffers --------------------------------------------------------------------------- total used free shared buffers cached Mem: 1024 76 947 0 0 0 -/+ buffers/cache: 76 947 Swap: 0 0 0 ---------------------------------------------------------------------------
Centmin Mod Nginx web 1. Peaked at 0.37, 0.17, 0.05 cpu load down from previous 0.94 peak cpu load and memory usage down from 129MB peak to 118MB.
--------------------------------------------------------------------------- top - 11:34:55 up 24 days, 6:35, 1 user, load average: 0.37, 0.17, 0.05 Tasks: 26 total, 1 running, 25 sleeping, 0 stopped, 0 zombie Cpu0 : 0.1%us, 0.2%sy, 0.0%ni, 99.0%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 0.1%us, 0.2%sy, 0.0%ni, 99.0%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1048576k total, 121756k used, 926820k free, 0k buffers --------------------------------------------------------------------------- total used free shared buffers cached Mem: 1024 118 905 0 0 0 -/+ buffers/cache: 118 905 Swap: 0 0 0 ---------------------------------------------------------------------------
Centmin Mod Nginx web 2. Peaked at 0.31, 0.11, 0.02 cpu load down from previous peak of 0.67 cpu load and memory usage slightly up from 126MB to 128MB
--------------------------------------------------------------------------- top - 11:34:16 up 12 days, 14:47, 1 user, load average: 0.31, 0.11, 0.02 Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie Cpu0 : 0.1%us, 0.1%sy, 0.0%ni, 94.9%id, 5.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 0.1%us, 0.1%sy, 0.0%ni, 94.2%id, 5.6%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1048576k total, 131420k used, 917156k free, 0k buffers --------------------------------------------------------------------------- total used free shared buffers cached Mem: 1024 128 895 0 0 0 -/+ buffers/cache: 128 895 Swap: 0 0 0 ---------------------------------------------------------------------------
Centmin Mod Nginx web 4. Peaked at 0.38, 0.11, 0.03 cpu load
--------------------------------------------------------------------------- top - 11:32:25 up 1 day, 17:18, 1 user, load average: 0.38, 0.11, 0.03 Tasks: 28 total, 1 running, 27 sleeping, 0 stopped, 0 zombie Cpu0 : 0.3%us, 0.1%sy, 0.0%ni, 98.8%id, 0.9%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 0.5%us, 0.1%sy, 0.0%ni, 98.9%id, 0.5%wa, 0.0%hi, 0.0%si, 0.0%st --------------------------------------------------------------------------- total used free shared buffers cached Mem: 1024 136 887 0 0 0 -/+ buffers/cache: 136 887 Swap: 0 0 0 ---------------------------------------------------------------------------
Full details for 4x VPS load balanced cluster details.
Designation: web1 Centmin Mod Nginx web server Virtualization: OpenVZ OS: CentOS 6.0 32bit CPU: Intel Xeon E5520 SPEC: 2CORE/512MB-1GB/50GB/2000GB Designation: web3 Haproxy load balancer #1 + Centmin Mod Nginx web server Virtualization: OpenVZ OS: CentOS 6.0 32bit CPU: Intel Xeon E5520 SPEC: 2CORE/512MB-1GB/50GB/2000GB Designation: web2 Centmin Mod Nginx web server + Haproxy load balancer #2 backup Virtualization: OpenVZ OS: CentOS 6.0 32bit CPU: Intel Xeon E5520 SPEC: 2CORE/512MB-1GB/50GB/2000GB Designation: web4 Centmin Mod Nginx web server + Haproxy load balancer #3 backup Virtualization: OpenVZ OS: CentOS 6.0 32bit CPU: Intel Xeon X3450 SPEC: 4CORE/1GB/30GB/1500GB
Other Siege benchmark tests
- Siege benchmark test #1: Benchmark mode (3x VPS load balanced)
- Siege benchmark test #2: Internet mode (3x VPS load balanced)
- Siege benchmark test #3: Internet mode (4x VPS load balanced with adjusted Haproxy distribution weights)