Benchmarking Drupal 8.0 RC1
Drupal 8.0 RC1 has just been released! I've been looking forward to improved performance since Wim Leers wrote about Drupal 8's new caching system six months ago.
Benchmark tool
I performed a quick benchmark using siege, which was run on a separate computer and connected to the server via a HP 1810-24G gigabit switch.
Server setup
- HP DL160
- 2x Intel Xeon L5520
- 18GB RAM
- 2x Gbe network ports
- FreeBSD 10.2 RELEASE
- ZFS filesystem over iSCSI
Testing methodology
- Fresh install of Drupal 6, 7, and 8
- Create one article node to appear on the front page
- Caching was enabled on all sites
- Used nginx v1.8.0, php-fpm, and MariaDB 10.0.21
- Run 100 concurrent connections for 30 seconds
Results
Transaction rate (requests/second) - higher is better
Response time (seconds) - lower is better
-legend\"><% for (var i=0; i
}
new Chart( document.getElementById("rate-chart").getContext("2d") ).Bar(rate_data, options);
new Chart( document.getElementById("response-chart").getContext("2d") ).Bar(response_data, options);
//-->
Raw data
Drupal 8 - caching enabled
siege -b -c 100 -r 1000 -t 30S http://drupal.8.dev3
Transactions: 10615 hits
Availability: 100.00 %
Elapsed time: 29.49 secs
Data transferred: 118.18 MB
Response time: 0.28 secs
Transaction rate: 359.93 trans/sec
Throughput: 4.01 MB/sec
Concurrency: 99.47
Successful transactions: 10615
Failed transactions: 0
Longest transaction: 0.43
Shortest transaction: 0.02
Drupal 7 - caching enabled
siege -b -c 100 -r 1000 -t 30S http://drupal.7.dev3
Transactions: 29577 hits
Availability: 100.00 %
Elapsed time: 29.48 secs
Data transferred: 235.08 MB
Response time: 0.10 secs
Transaction rate: 1003.14 trans/sec
Throughput: 7.97 MB/sec
Concurrency: 99.79
Successful transactions: 29577
Failed transactions: 0
Longest transaction: 0.21
Shortest transaction: 0.05
Drupal 6 - caching enabled
siege -b -c 100 -r 1000 -t 30S http://drupal.6.dev3
Transactions: 31246 hits
Availability: 100.00 %
Elapsed time: 30.02 secs
Data transferred: 126.20 MB
Response time: 0.10 secs
Transaction rate: 1040.72 trans/sec
Throughput: 4.20 MB/sec
Concurrency: 99.77
Successful transactions: 31246
Failed transactions: 0
Longest transaction: 0.75
Shortest transaction: 0.01
Conclusion
Drupal 8 is about 3 times slower than Drupal 7 and Drupal 6.
I believe this might not be due to Drupal itself, but the Symphony PHP framework that it uses. Symphony has been shown to be one of the slowest PHP frameworks available. Symphony is 14 times slower than Phalcon.
Tags: