J'ai une application web fonctionnant sur un ordinateur bas de gamme (1 Go de RAM), qui sert un mélange de pages statiques et dynamiques (php). Ces pages PHP interrogent une base de données MYSQL qui ne change pas souvent du tout - une fois par semaine ?
Je cherche à faire une bonne quantité de cache pour que tout soit agréable et rapide. J'ai des pages qui, bien qu'elles soient en php, changent rarement d'informations (j'obtiens une liste d'éléments qui pourraient changer une fois tous les quelques mois ). Quelques pages peuvent contenir jusqu'à 400 enregistrements.
J'ai installé Varnish, nginx, PHP-FPM, APC, MYSQL. Je "pense" avoir tout configuré correctement. Les pages sont servies, et j'ai des hits qui apparaissent dans Varnish... Génial ! Cependant, en raison de la nature du site, je ne suis pas sûr qu'il soit aussi optimisé qu'il pourrait l'être.
Une recherche récente a suggéré un certain nombre de choses qui peuvent aider avec mes pages php :
- nginx FastCGI caching
- memcached
- Mise en cache des requêtes MYSQL
Un exemple : Une page PHP récente, où il y a beaucoup d'enregistrements (200+) : 2 secondes Après un rafraîchissement, 1,5 seconde (environ). edit : Suis-je irréaliste si je m'attends à ce que cette page soit mise en cache quelque part et soit fournie beaucoup plus rapidement après avoir été visitée ?
Quelle serait ma meilleure option ? Une ou toutes les options ci-dessus ?