Bonjour, Tout d'abord, as-tu une vision des perfs *actuelles* de l'appli ?
Si non, pas la peine de te lancer, tu ne pourras pas mesurer les améliorations (graph de temps de chargement de pages, réultats YSLow/PageSpeed, Pinba pour le code PHP)
Ensuite, commence par une revue de la configuration de l'existant: - Désactiver les module Apache inutiles - Revoir les params MySQL pour maximiser l'utilisation mémoire - Activer (et exploiter) les slow-log MySQL
Identifie les goulots d'étranglement dans le code (grâce à Pinba par exemple, y en a sûrement) et fais-les corriger.
Enfin, et seulement à ce moment là, tu pourras envisager d'ajouter une couche de cache.
Globalement, seule une parfaite connaissance de l'appli et de l'infra sous-jacente te permettront d'optimiser son fonctionnement dans de bonnes conditions. De la même façon, sans preuve des améliorations, je ne vois pas trop comment tu pourras justifier les investissements et/ou le temps passer dessus.
En conclusion, sans plus d'infos, l'ajout d'un Varnish n'a pas particulièrement de sens pour moi.
En matière de "killer app", nous gérons une appli LAMP (jeux facebook itou) qui support en pic plus de 200k requêtes par minute avec des temps de réponse inférieurs à la seconde. Le tout est hébergé sur 50 fronts apache et, bien sûr, quelques serveurs memcache, redis, mysql en backend.
Naturellement, tout le contenu statique est sur CDN
Cordialement, JB
Le 05/09/11 10:43, vincent finet a écrit :
Bonjour à tous,
Je suis à la recherche de pistes / retour dexpériences pour optimiser les temps de réponse d'une application Web PHP (qui est en fait un jeux flash fonctionnant en appel WebService). On retrouve également tout les médias utilisés par le jeux.
Mon architecture est en l'état la suivante :
Un serveur frontal HAPROXY qui redirige les requêtes vers un pool de frontaux HTTP ainsi que vers un pool de media static. Les frontaux HTTP sont des apaches / Les serveurs medias sont des lighttpd.
J'envisage de déployer des instances VARNISH sur mon frontal HAPROXY pour cacher les accès aux médias. J'aurai alors une chaine HAPROXY <=> VARNISH <=> BACKEND
Cela a t'il du sens pour vous ? D'une manière générale quelles sont les "killers app" que vous avez mis en uvre dans vos architectures web ? Merci par avance pour toutes les idées que vous pourrez m'apporter dans ma quête de perf :)
Vincent Finet
Viveris - ASR Ingénieur système et réseau Mail : vincent.finet@viveris-asr.fr Tel : 01 55 19 47 47 Mob : 06 88 56 27 73
Liste de diffusion du FRsAG http://www.frsag.org/