Symfony News

PHP preloading and Symfony

Blackfire callgraph of the benefit of using PHP preloading

PHP 7.4 added support for preloading. To make a long story short, it gives you extra performance for free. Symfony 4.4 made it easy to benefit from this feature in your projects.

You might wonder how easy it is to benefit from it? It is actually surprisingly easy. When Symfony builds its cache, it automatically creates a file to help PHP preload some PHP files. To enable preloading, you must tell PHP where this file is stored in its php.ini configuration file:

1
2
3
4
5
# on Symfony 5.1+
opcache.preload=/app/var/cache/prod/App_KernelProdContainer.preload.php

# for Symfony 4.4
opcache.preload=/app/var/cache/prod/srcApp_KernelProdContainer.preload.php

That’s it!

I’ve done it on all the websites I manage for my Open-Source projects. Here is the boost on the twig.symfony.com homepage:

On more complex websites, with database accesses, the percentage is going to be less dramatic, but still interesting.

On SymfonyCloud, the default php.ini template now contains this configuration, so uncomment the right line depending on your Symfony version and enjoy a nice and free performance boost!


Sponsor the Symfony project.


About us

What a Symfony developer should know about the framework: News, Jobs, Tweets, Events, Videos,...

Resources

Find us on Twitter

Find us on Facebook