Siege Benchmark Test #3: Internet mode
Re-ran the test with a 4th VPS (web4) added to the HAProxy cluster. Adjusted HAProxy settings: reduced maxconn from 4096 to 512, set web3 weight to ~14.3% (since it runs HAProxy too) and other nodes to ~28.6% each. Reduced delay from 5 to 3 seconds.
4x VPS Cluster Details
web1: OpenVZ CentOS 6.0 32bit, Xeon E5520, 2CORE/512MB-1GB/50GB
web2: OpenVZ CentOS 6.0 32bit, Xeon E5520, 2CORE/512MB-1GB/50GB (+ HAProxy backup)
web3: OpenVZ CentOS 6.0 32bit, Xeon E5520, 2CORE/512MB-1GB/50GB (HAProxy primary)
web4: OpenVZ CentOS 6.0 32bit, Xeon X3450, 4CORE/1GB/30GB (+ HAProxy backup)
Test Command & Results
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
...
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
Server Load During Test
HAProxy + web3 (peak load: 0.87 - improved from 1.30)
top - 11:34:00 up 36 days, 22:16, load average: 0.87, 0.39, 0.16
Mem: 1048576k total, 78612k used, 969964k free
web1 (peak load: 0.37 - down from 0.94)
top - 11:34:55 up 24 days, 6:35, load average: 0.37, 0.17, 0.05
Mem: 1048576k total, 121756k used, 926820k free
web2 (peak load: 0.31 - down from 0.67)
top - 11:34:16 up 12 days, 14:47, load average: 0.31, 0.11, 0.02
Mem: 1048576k total, 131420k used, 917156k free
web4 (new node, peak load: 0.38)
top - 11:32:25 up 1 day, 17:18, load average: 0.38, 0.11, 0.03
Nginx Configuration
user nginx nginx;
worker_processes 1;
worker_rlimit_nofile 51200;
error_log logs/error.log;
pid logs/nginx.pid;
events {
worker_connections 32768;
use epoll;
}