Drupal 7 vs Drupal 8 (beta 7) Performance Tests

NOTE: This article is outdated, as it is related to drupal 8.0.0-beta7. See newer test results for Drupal 8 beta 11.

Did you know, that Drupal 7 has been one of the most performant CMS out there, beating WordPress and joomla, it has been the fastest CMS among the top market CMS? It has been a rule of thumb, that if you want a nicer and more manageable CMS, you use WordPress, but if you want a more preformant platform, you choose Drupal. With the coming of Drupal 8, there has been a huge concern for it's performance. There have been two factors, one favorable for performance, and one unfavorable. From one hand, a lot of work has been done to make Drupal 8 'smarter', rewriting cache and asset handling. This is what Dries Buytaert meant, when he wrote about 'making Drupal 8 fly'. From the other hand, a shift to more complex OOP and a much more complex back end structure has had a very bad toll on performance. Now that there has been a lot of work done, and Drupal 8 is in beta, where is it now performance-wise?

I have ran a number of tests with ab, set to run 1000 queries, 20 concurrent. I have tested Drupal 7 and Drupal 8 for performance on a computer with Ubuntu 14.04, Apache and MariaDB. Drupal 7 has been tested initial (out of the box), and then also with some most common modules installed, such as Views, Libraries, CCK, etc., which are included in the Drupal 8's standard installation profile. Then, I tested Drupal 8 with the minimal profile and then with the standard profile. All tests were conducted for an anonymous user.

  1. Drupal 7 Standard. 80.58 requests per second. Drupal 7 standard performance is it's out of the box installation.
  2. Drupal 7 with Common Modules. 59.37 requests per second. This setup was necessary to address the fact, that Drupal 8's standard install comes with such modules as Views, Libraries, Entity Reference, CKEditor all in the core. Front end functionality of Drupal 7 in this test is roughly the same as Drupal 8's.
  3. Drupal 8 Minimal. 18.21 requests per second. Drupal 8's is as lean as Drupal 8 can get.
  4. Drupal 8 Standard. 10.97 requests per second. Drupal 8's standard installation.

So, what do we get? The numbers are quite depressing. Drupal 7 is about 5 times faster and more performant than Drupal 8. It's true, that heavy caching, reverse proxy, and other tools can help level up some of this gap for anonymous users. However, I can't help thinking, that the notion of Drupal as one of the most robust CMS is probably coming to an end.