Eu tenho uma configuração onde eu implantar um webapp PHP em um servidor Apache. Depois de uma nova versão, a carga do servidor fica muito alta (carga média de 40+ em uma máquina de 4 núcleos). Reiniciar o Apache corrige o problema e a carga cai para um valor saudável.
Estou usando o Capistrano para o processo de lançamento. Cada lançamento é implantado em sua própria pasta, como /home/webapp/releases/20171205100256
.
Quando o lançamento é bem sucedido (faz um checkout do Github, cria algumas pastas, etc) a versão atual do webapp é atualizada. Isso funciona por meio de um link simbólico:
/home/webapp/current -> /home/webapp/releases/20171205100256
O Apache é configurado com um Vhost que aponta para /home/webapp/current/public
.
Este problema não ocorreu no passado, mas acontece desde algumas semanas. Nós lançamos semanalmente e temos certeza de que o problema ocorre depois de um lançamento quando muitos usuários começarem a usar o aplicativo (o lançamento é à noite, o problema começa por volta das 9h da manhã seguinte).
No aplicativo, há algum armazenamento em cache e material que é específico do lançamento e demora um pouco mais pela primeira vez que um recurso é usado, mas isso é insignificante.
Alguém reconhece esse problema ou talvez tenha uma idéia de como resolver isso? Reiniciar o Apache depois de cada lançamento não é muito trabalho, mas eu quero entender por que isso está acontecendo para que eu possa resolver o problema em vez de corrigir os sintomas.
Obrigado!
Niels