Forest header image

Symfony Finland
Random things on PHP, Symfony and web development

Symfony Benchmarks: Introduction

Benchmarks are the mother of all click baits. They draw people like flies, create controversy and make people jump to conclusions. For raw computation such as video encoding benchmarks can be very effective at demonstrating differences between different technologies.

For the dynamic environment web applications run in, benchmarks rarely represent reality and are more or less synthetic. Yet web benchmarks have got their place to give ballpark figures of differences.

The PHP runtime had a significant release with PHP 7 this year, and there are a number of benchmarks done with it using Drupal, WordPress and other mainstream tools. Facebook continues it's heavy investment in HHVM, a PHP compatible runtime. It's worth also taking a look at how it compares with the current and previous generation of the official PHP environment using the Symfony framework.

To find out how the different runtimes work with a large scale Symfony Framework application, we'll run eZ Platform, a rather complex application built with the Symfony Framework. In a series of three articles we'll take a look at the difference of the used PHP runtime, HTTP caching and increased server resources affect a real life Symfony application.

We'll use the demo installation of eZ Platform with the latest MySQL version is the latest 5.7.10 version as the database. Database results are stored by the default eZ Platform metadata through the Stash Bundle using the filesystem driver. The Symfony version used with eZ Platform 1.0 is 2.7.

The test setup was created in the UpCloud data centre in Frankfurt with dedicated hosts for both the hosting machine and the load generator. Load testing is done using the 1 Gbit internal network of the data center to minimise network bandwidth and latency effects on the results. No other tasks are done on the virtual servers.

The results are published in a series of articles:

  1. Symfony Benchmarks: PHP 5.6, HHVM 3.11 and PHP 7.0.1
  2. Symfony Benchmarks: Scaling PHP by adding CPU & RAM
  3. Symfony Benchmarks: Symfony Proxy vs. Varnish
  4. Symfony Benchmarks: PHP-FPM vs. PHP-PM (on PHP 7 and HHVM)
  5. Symfony Benchmarks: Symfony Microkernel, Lumen, Silex, Slim...

Written by Jani Tarvainen on Saturday December 26, 2015
Permalink - Tags: symfony, php, mysql, hhvm, php7, benchmark

« Testing React.js isomorphic rendering with php-v8js and the Symfony Microkernel - Symfony Benchmarks: Scaling PHP by adding CPU & RAM »