Breaking

Followers

Friday, 8 April 2016

Drupal 7 vs Drupal 8 Performance Comparison

Development of Drupal 8 has reached a maturity level whereby alpha versions have been released. Naturally, I was curious to know how Drupal 7 and Drupal 8 compare performance wise

Since the number of modules enabled by default on both systems are different, I also did a test with particular modules enabled on Drupal 7 (more details below).

The performance comparison tests were run on:


  • MacBook Pro 2.3 GHz Intel Core i7 (Quad Core)
  • 16 GB of RAM
  • OSX 10.9.2 (Mavericks)
  • PHP 5.4.26
  • MySQL 5.1.68
  • Drupal 7.26 (January 15th, 2014)
  • Drupal 8 alpha10 (March 19th, 2014)

I used Apache Benchmark to run the performance test. I made 1000 requests with a concurrency level of 20 for each case (-n 1000 -c 20). Two types of tests were run, they were:


  • Requesting the front page for an anonymous user.
  • Login with administrator credentials.

For each case the ab test was run 5 times; I then took the highest number from the results.

The above two types of tests were run on 3 different environments, they were:


  • Drupal 8 (Standard out of the box)
  • Drupal 7 (Standard out of the box)
  • Drupal 7 with the following modules installed and enabled (these are standard in Drupal 8). I only added a selected few modules instead of trying to match each and every module between Drupal 7 and Drupal 8.
  • breakpoints, ctools, ckeditor, contact, edit, libraries, entity, views, views_ui

Following are details of the comparison:

Anonymous user
 Drupal 7 (Requests per sec)Drupal 7 with extra modules (Requests per sec)Drupal 8(Requests per sec)
No caches enabled44.4438.6714.34
APC enabled (shm_size=64)164.61150.4030.00
  • APC enabled
  • Page cache maxium age=1 min (Drupal 8)
  • Use internal page cache (Drupal 8)
  • Cache pages for anonymous users (Drupal 7)
  • Minimum cache lifetime=1 min (Drupal 7)
1185.811152.53362.91
  • Page cache maxium age=1 min (Drupal 8)
  • Use internal page cache (Drupal 8)
  • Cache pages for anonymous users (Drupal 7)
  • Minimum cache lifetime=1 min (Drupal 7)
414.20315.95115.06
    
    
Login as administrator
 Drupal 7 (Requests per sec)Drupal 7 with extra modules (Requests per sec)Drupal 8(Requests per sec)
No caches enabled44.2737.0917.71
APC enabled (shm_size=64)161.34143.3937.55
  • APC enabled
  • Page cache maxium age=1 min (Drupal 8)
  • Use internal page cache (Drupal 8)
  • Cache pages for anonymous users (Drupal 7)
  • Minimum cache lifetime=1 min (Drupal 7)
160.77145.0837.53
  • Page cache maxium age=1 min (Drupal 8)
  • Use internal page cache (Drupal 8)
  • Cache pages for anonymous users (Drupal 7)
  • Minimum cache lifetime=1 min (Drupal 7)
44.1938.0117.55
    
   
As you can see in my results, the performance regression still remains. I am hoping in few more months, once the beta versions start getting released, the performance will improve.

If you have conducted performance tests related to Drupal I would be interested in looking at the results; please leave me a link in the comments section. I am specifically interested in the following for now:


  • Performance comparison of a standard out of the box Drupal site when it is run on Amazon EC2 vs Google Compute Engine
  • Performance comparison of a Drupal site (with x number of modules) when it is run on different Instance sizes on Amazon EC2.
  • Performance comparison of a Drupal site (with x number of modules) when it is run on different machines on Google Compute Engine.




No comments:

Post a Comment