Supondo que estamos falando de um sistema de produção que deve escalar no infinito, essas são as regras:
- O desempenho deve ser medido.
- Não espere escalabilidade sem design.
Certifique-se de entender o que está acontecendo. Eu suponho que este é um sistema LAMP em uma caixa Linux. Algumas ferramentas para ajudá-lo a medir o desempenho: onop, collectd, iostat, vmstat, iptraf, netacct. Se você estiver usando um frontend do Apache, ative o log da solicitação de ida e volta (consulte LogFormat% D). No mysql, ative o registro de consultas lentas e defina o limite baixo (por exemplo, 5 segundos) para que você possa capturar as consultas problemáticas antes que os usuários as notem. Use o mysqlreport para ver se você deve mudar sua configuração do mysql. Insira instruções de log em seu código PHP que são acionadas se partes relevantes demorarem mais do que o aceitável para serem concluídas. Use, e. logwatch para monitorar logs de tais linhas e notificá-lo quando elas ocorrerem.
Depois de entender quais partes do seu sistema produzem carga, comece a olhar para o seu projeto para torná-lo mais modular. Em seguida, você cria ferramentas para medir o desempenho de cada módulo isoladamente para garantir que ele atenda aos seus requisitos de desempenho.