Drupal 8 and initial PHP-PM vs. PHP-FPM Benchmarks

Submitted by dryer on Sun, 03/13/2016 - 17:39
drupal 8 speed

In early 2014 there was an interesting article on how to build high performance with PHP applications with ReactPHP. The original article discusses using the Full Stack Symfony Framework. Drupal 8 is built upon the Symfony HttpKernel component and other bits and pieces from that very same team.

Drupal 8 might not shine when it comes to raw performance, but the contemporary approach taken opens up new doors. The ReactPHP experiment has since graduated to a project known as PHP-PM (PHP Process Manager) and it has shown impressive results in benchmarks done with the Symfony Framework.

Due to the close relationship between Drupal and Symfony HTTP communications, there is now a DrupalKernel Adapter for PHP-PM from Kent Richards. It requires some patches to the Drupal Kernel and is an alpha release. In quick tests the performance is lower than with PHP-FPM:

Drupal 8 and PHP-FPM and PHP-PM benchmarks

But this is still good news, as this is a real alternative for running Drupal in the future. It opens up the doors for Drupal to catch up with the gains made when using a CMS built on the Symfony Framework together with PHP-PM for REST API calls:

Symfony on PHP-PM benchmark

PHP-PM also fails faster with Drupal than the Symfony Framework due to memory leaks, but this is the way Drupal will likely work in 2020. This proof of concept proves that we are on the way.