cPanel WordPress Benchmarks
LiteSpeed vs. Apache (multiple PHP setups)
Courtesy of Tristan Wallace and cPanel (Presented at cPanel Conference 2014)
WordPress + cPanel setups tested at different levels of concurrency — 20 and 50 concurrent connections. (The tests use different hardware. Apache could not complete the higher concurrency test on the small VPS.)
In the speed tests, the importance of the more powerful hardware is evident — even with higher concurrency, the dedicated server is faster than the VPS. There is still a rather large difference between LSWS and Apache with suPHP or FCGI.
VPS specs (20 concurrent connections test):
One core 1GB RAM Xen-based CentOS 6.5, kernel 2.6.32 SSD cache in front of spinning disks, 10k Drive speed cPanel & WHM 220.127.116.11 PHP 5.4.32 Apache 2.4.10, MPM Prefork LSWS 4.2.14, VPS license
Dedicated server specs (50 concurrent connections test):
Quad core 8GB RAM CentOS 6.5, kernel 2.6.32 SSD cache in front of spinning disks, 10k Drive speed cPanel & WHM 18.104.22.168 PHP 5.4.32 Apache 2.4.10, MPM Prefork LSWS 4.2.14, 2-CPU license
The most interesting feature of these benchmarks is that they show how the two HTTP servers react to increases in concurrency:
- For Apache, as the number of users increases, RAM usage and server load increase exponentially.
- LiteSpeed Web Server's RAM usage and server load stay low even when concurrency is increased.
This difference demonstrates the advantage in scalability that event-driven architecture provides over Apache's process-based architecture. This is what leads to the load drop users see when switching to LSWS, and it is this difference that allows LSWS to serve much more traffic than Apache on the same hardware.
Unfortunately, having the two tests on different hardware means we can't see speed differences connected to concurrency. This would have been interesting because much of the speed gain LiteSpeed users see is due to efficient traffic handling — Apache uses too much RAM and CPU and gets overloaded, while LSWS continues to run at full speed. This was partially demonstrated when Apache couldn't handle the higher concurrency test on the VPS but LSWS could.
- Configurations are default configurations when possible.
- As mentioned above, the different concurrency tests were conducted on different machines. A 50 concurrent connections test was originally planned for the VPS, as well. LSWS was able to complete tests on the VPS at a higher concurrency, but tests were discontinued when Apache could not complete the the higher concurrency test on the small VPS.
- Tests were done using the ApacheBench scripts
ab -n 25000 -c 20and
ab -n 100000 -c 50.
- Servers were allowed to rest for 30 minutes between tests to avoid contaminating results.
- This is a selection of the results presented at cPanel Conference 2014. Some results were omitted in order to make the graphs easier to read. The full presentation can be found below. The next three bullet points address why certain results were removed.
- In the presentation, two results for each concurrency are presented. We have only used the results for the test with the larger number of requests.
- Results for LSWS's ProcessGroup setup were removed because the goal of ProcessGroup is to make more efficient use of opcode caching. There is no point in using ProcessGroup without opcode caching.
- Results for Apache's CGI setup were removed because this was deemed to be the least used Apache setup of the four.
We welcome your feedback on our forum.