mod_php vs php-fpm Performance Benchmark [Surprising Results]

Have you ever wondered if Apache mod-php is faster than php-fpm with Nginx? I surely did.

Each time this question arises, I do a quick research, and I cannot seem to find a definitive answer. It seems that the recommended way to run PHP websites nowadays is to use php-fpm with Nginx, but is that the best method? Some articles state that php-fpm is 300% faster than mod-php, other articles state that mod-php is faster, and so on.

This is why I've decided to conduct my own tests and performance benchmark and settle this debate once and for all.

The result surprised me.

How to install wrk on Ubuntu

To install wrk on Ubuntu, you need to run:

sudo apt-get update
sudo apt-get install wrk

What is the difference between let and var in Javascript?

The difference between let and var is the scope in which the variables are available.

  • let declares a block-scoped variable. They are accessible only within the block (enclosed by curly braces) in which they are defined.
  • var declares function scoped or globally-scoped variable. This means they are accessible throughout the entire function in which they are defined or globally if defined outside of any function.

But what does that mean? Let's look at the examples below to understand the differences better.

How to get parameter in Symfony controller

To get parameters in Symfony controller, you can bind a parameter to a variable and inject it into a controller or service.

How to list directory files in Symfony

To list files in a directory with Symfony, you can use the Finder Component - $finder->files()->in(__DIR__);

Let's look at the example below to understand better how the Finder component works.

How to fix Only attribute mapping is supported by make:entity error in Symfony

To fix the Only attribute mapping is supported by make:entity error error in Symfony, you need to change your Doctrine Entity type in your config/packages/doctrine.yaml from annotation to attribute.

How to use Symfony Query Builder where

In Symfony, the Doctrine Query Builder provides a convenient and object-oriented way to construct complex SQL queries. The where() method is used within the Query Builder to add conditions to your queries. Here's how you can use it:

How to use Symfony Query Builder delete

The Doctrine Query Builder in Symfony can be used not only to select entities but also to delete them by using ->delete()

How to use Symfony Query Builder count

The Doctrine Query Builder in Symfony can be used to count rows by using ->select('count(e.id) as c')

How to use Symfony Query Builder update

The Doctrine Query Builder in Symfony can be used not only for fetching entities but also to update them by using ->update().