Ces derniers temps, j'ai été confronté à un problème de performance sur le site d'un client. Le site est développé avec Symfony2, utilise l'ORM Doctrine2, il est responsive, utilise adaptive-images pour servir des images optimisées, etc etc.
Jusque là, le site avait été optimisé pour mettre en cache les requêtes à la base de données (Query & Result cache), mettre en cache des fragment de template (avec les ESI) et utiliser au mieux les entêtes HTTP pour mettre en cache les pages du côté client.
Les résultats de ces mises en cache granulaires était un temps de chargement entre 60ms pour une cache navigateur primée et ~150-200ms quand il y avait un hit sur l'application, parce que la plupart du temps il n'y avait aucun hit sur la base de données.
Le problème est arrivé quand le client a décidé d'ajouter des publicités sur son site. Ne voulant pas utiliser un ad-network existant, le cl