Just installed vB 3.8.6 PL1 test forum on test server to benchmark Litespeed v4.0.19. Only testing the front vB index.php page first.
Results are very much bottlenecked by MariaDB 5.2.4 MySQL server connection unlike standalone test.php or test.txt static file testing already done.
Summary
Apachebench
Raw numbers here
Server config
ran Unixbench 5.1.2 as per http://www.webhostingtalk.com/showthread.php?t=924581 to see how it compares.
Results are very much bottlenecked by MariaDB 5.2.4 MySQL server connection unlike standalone test.php or test.txt static file testing already done.
Summary
- Litespeed again came out on top with least memory usage and serving up to 100,000 requests with 1,000 concurrency with no failed requests.
- Nginx with php-fpm in TCP form came out in second place but had more failed requests as the concurrency and requests size increased. Update: Seems failed requests due to content length varying so not really failed requests see explanation here.
- Nginx with php-fpm unix socket form for some reason couldn't even pass >5 concurrency level without php failing with 502 gateway error messages/upstream timeouts.
- Apache kicked the bucket at 100,000 requests and cpu load was very high as was average memory usage.
Apachebench
- 10,000 requests with 100 concurrency
- ab -k -n 10000 -c 100 http://192.168.56.101/index.php
- 10,000 requests with 200 concurrency
- ab -k -n 10000 -c 200 http://192.168.56.101/index.php
- 100,000 requests with 1000 concurrency
- ab -k -n 10000 -c 1000 http://192.168.56.101/index.php
:: Jan 28th, 2011: Correction to findings
I have to revise my findings a bit for Nginx. The failed requests seem to be from content length varying between apachebench requests and not due to failure requests related to connections/exceptions errors. Content length varies due to dynamic nature of php pages tested as as long as content length reported by apachebench as Document Length is nearly the same, it still means a successfully served request regardless. Full summary here
I have to revise my findings a bit for Nginx. The failed requests seem to be from content length varying between apachebench requests and not due to failure requests related to connections/exceptions errors. Content length varies due to dynamic nature of php pages tested as as long as content length reported by apachebench as Document Length is nearly the same, it still means a successfully served request regardless. Full summary here
Raw numbers here
Server config
ran Unixbench 5.1.2 as per http://www.webhostingtalk.com/showthread.php?t=924581 to see how it compares.
- VirtualBox CentOS 5.5 64bit Guest
- Xeon W3540 @3408Mhz (Assigned 2 cores only) - linux reports @3375Mhz
- 16MB allocated GPU memory
- 1GB out of 6GB DDR3-1550Mhz
- 20GB out of 640GB Samsung SATAII
Code:
========================================================================
BYTE UNIX Benchmarks (Version 5.1.2)
System: localhost.localdomain: GNU/Linux
OS: GNU/Linux -- 2.6.18-194.32.1.el5 -- #1 SMP Wed Jan 5 17:52:25 EST 2011
Machine: x86_64 (x86_64)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: Intel(R) Xeon(R) CPU W3540 @ 2.93GHz (6750.1 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 1: Intel(R) Xeon(R) CPU W3540 @ 2.93GHz (6733.8 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
21:45:27 up 1:11, 2 users, load average: 0.00, 0.01, 0.00; runlevel 5
------------------------------------------------------------------------
Benchmark Run: Sun Jan 23 2011 21:45:27 - 22:09:32
2 CPUs in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 19101079.5 lps (10.0 s, 7 samples)
Double-Precision Whetstone 3771.0 MWIPS (10.0 s, 7 samples)
Execl Throughput 4394.2 lps (30.0 s, 2 samples)
Pipe Throughput 1457951.0 lps (10.0 s, 7 samples)
Pipe-based Context Switching 29373.4 lps (10.0 s, 7 samples)
Process Creation 13113.2 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 7997.6 lpm (60.0 s, 2 samples)
Shell Scripts (16 concurrent) 901.5 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 1756.9 lpm (60.0 s, 2 samples)
System Call Overhead 1211587.2 lps (10.0 s, 7 samples)
System Benchmarks Partial Index BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 19101079.5 1636.8
Double-Precision Whetstone 55.0 3771.0 685.6
Execl Throughput 43.0 4394.2 1021.9
Pipe Throughput 12440.0 1457951.0 1172.0
Pipe-based Context Switching 4000.0 29373.4 73.4
Process Creation 126.0 13113.2 1040.7
Shell Scripts (1 concurrent) 42.4 7997.6 1886.2
Shell Scripts (16 concurrent) --- 901.5 ---
Shell Scripts (8 concurrent) 6.0 1756.9 2928.1
System Call Overhead 15000.0 1211587.2 807.7
========
System Benchmarks Index Score (Partial Only) 916.9
------------------------------------------------------------------------
Benchmark Run: Sun Jan 23 2011 22:09:32 - 22:33:38
2 CPUs in system; running 2 parallel copies of tests
Dhrystone 2 using register variables 37996013.0 lps (10.0 s, 7 samples)
Double-Precision Whetstone 7678.6 MWIPS (9.7 s, 7 samples)
Execl Throughput 8655.7 lps (29.9 s, 2 samples)
Pipe Throughput 2863704.1 lps (10.0 s, 7 samples)
Pipe-based Context Switching 739539.5 lps (10.0 s, 7 samples)
Process Creation 25690.5 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 14271.1 lpm (60.0 s, 2 samples)
Shell Scripts (16 concurrent) 1001.8 lpm (60.1 s, 2 samples)
Shell Scripts (8 concurrent) 1990.0 lpm (60.0 s, 2 samples)
System Call Overhead 2279039.9 lps (10.0 s, 7 samples)
System Benchmarks Partial Index BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 37996013.0 3255.9
Double-Precision Whetstone 55.0 7678.6 1396.1
Execl Throughput 43.0 8655.7 2012.9
Pipe Throughput 12440.0 2863704.1 2302.0
Pipe-based Context Switching 4000.0 739539.5 1848.8
Process Creation 126.0 25690.5 2038.9
Shell Scripts (1 concurrent) 42.4 14271.1 3365.8
Shell Scripts (16 concurrent) --- 1001.8 ---
Shell Scripts (8 concurrent) 6.0 1990.0 3316.7
System Call Overhead 15000.0 2279039.9 1519.4
========
System Benchmarks Index Score (Partial Only) 2226.9
Last edited: