Réponses:
Cela dépend vraiment de votre charge de travail.
pour la partie L
pour la partie A de votre pile - vous pouvez peut-être le remplacer complètement par nginx ou lighthttpd , ou peut-être simplement laisser Apache pour le contenu dynamique et avoir un serveur séparé (comme ces deux ou mathopd ) pour le contenu statique. Jetez un œil ici pour plus d'options. Si vous allez exécuter à la fois Apache et un autre serveur dans la même boîte, une deuxième adresse IP sera utile. Pour diminuer la latence pour l'utilisateur final, utilisez http / 1.1 avec keep-alive. Pensez à utiliser un CDN pour le contenu statique.
pour la partie M de votre lampe - jetez un oeil sur mysqlperformanceblog . du haut de ma tête:
pour P
Pas vraiment une astuce de performance, mais prenez des sauvegardes hors site. Vraiment.
Je suggère vraiment de séparer MySQL et Apache / PHP sur deux machines différentes.
Par exemple, j'avais une machine (C2D E6600) qui atteignait toujours 2,0 et au-dessus de la moyenne de charge. J'ai installé MySQL sur une deuxième machine (P4C 3Ghz) et après cela, les deux moyennes de charge ne sont pas passées au-dessus de 0,2-0,3. Je suis donc passé d'un site très lent à un site rapide avec deux serveurs ayant beaucoup de marge de performance.
Pour la partie P, vous pouvez envisager la mise en cache d'opcode avec ie APC . On pourrait également considérer mod_fastcgi avec php au lieu du mod_php par défaut.