warning: Creating default object from empty value in /var/drupal/modules/taxonomy/ on line 33.

Doctrine and Generated Columns

Using a smart SQL query with subqueries, we reduced the time to build a data export by a factor of (at least) 50. On the development system with little data, we got from the response from 11 seconds to about 0.25 seconds.

To make this possible, we had to use a generated column to be able to create an index on a field inside a JSON column. Doctrine does not know Generated Columns, so we had to hide the column and index from the Doctrine Schema Generator.

Going crazy with caching: Caching pages of logged in users

Conference: PHP Benelux Conference 2017, Antwerp, Belgium
Title: Going crazy with caching: Caching pages of logged in users
Links:, slides

Tutorial: HTTP caching with Varnish

Conference: PHP Benelux Conference 2015, Antwerp, Belgium
Title: HTTP Caching with Varnish

For some scenarios, Varnish is the silver bullet to fix performance issues and go from slow site to lightning fast site. More often though, you will need to put some effort into your application to get good results. Ideally, you design your application to play well with caching from the outset. If you don’t know what you are doing, Varnish can also be the bullet to shoot yourself in the foot. Varnish is a server component that runs independent from your web server, making it useful whether your application is written in PHP,

Madison PHP Conference: HTTP Caching with Varnish

Conference: Madison PHP Conference, Madison, WI
Title: HTTP Caching with Varnish
Links: Slides,

With the Varnish caching proxy, you can make slow websites blazingly fast. The basics are quite simple once you understand how the cache handling in HTTP works. For starters, we will look into HTTP and the Varnish configuration. The main course is going to be cache invalidation and the cache tagging strategy. For dessert, there will be an introduction to edge side includes (ESI) - all liberally sprinkled with examples from the FOSHttpCache library and some ideas from the FOSHttpCacheBundle for Symfony2.

phpDay Italy 2012: Step By Step: Making a website fly with Assetic, Varnish and ESI

Conference: phpDay Italy 2012
Title: Step By Step: Making a website fly with Assetic, Varnish and ESI
Links: Slides,

Starting with a demo web site that is not optimized, i will demonstrate step by step how the user experience can be improved. Improving the speed the end user experiences in his browser is more than writing efficient code. The goal is to reduce the time between the initial request and the moment the browser actually shows something. I will show how to improve javascript and css loading and how to use the caching proxy Varnish. With Edge Side Includes (ESI) it can even cache partly personalized pages.

Syndicate content