Algumas coisas que você pode tentar:
- Verifique os logs do sistema e do aplicativo em busca de mensagens relevantes. Às vezes, há problemas / tempos limite que serão registrados lá. Isso inclui o log de consultas lentas do MySQL que o DerfK mencionou.
- Algum tipo de sistema de monitoramento no servidor seria bom ter. Isso lhe diria com certeza se há algum gargalo óbvio (CPU, memória, IO, etc ...). Como alternativa, se os problemas ocorrerem em horários específicos, você poderá usar as várias ferramentas de linha de comando top, vmstat, iostat, etc ... para verificar o status do sistema. Certifique-se de eliminar as causas óbvias / comuns primeiro (alta CPU, pouca RAM, uso de swap, bloqueios de IO / problemas / alta carga).
- Se você puder realizar testes de desempenho / testes de desempenho, poderá ajudar a determinar a origem do problema. Ser capaz de duplicar um problema de maneira confiável é um grande passo para resolvê-lo.
- Considere adicionar alguns log básicos em seus scripts. Eu começaria fazendo uma verificação básica do tempo de execução do script e emitindo algo somente se levasse mais de X segundos para ser executado.
- Você menciona os logs de análise de scripts. Se possível, tente executar os scripts sobre o mesmo conjunto de logs várias vezes e veja se o problema ocorre no mesmo local ou aleatoriamente em locais diferentes. Você também pode tentar desabilitar as gravações para ver se os problemas são causados pelas leituras / análises ou pelas gravações (ou ambos).
- Se você encontrar determinadas consultas em execução lenta, tente executá-las / testá-las manualmente no banco de dados por meio do cliente da linha de comando. Isso lhe dirá se as consultas em si são lentas ou apenas a execução remotamente do PHP por algum motivo.