session_start parece ser muito lento (mas apenas algumas vezes)

Por alguma razão estranha, apenas hoje nosso servidor decidiu ficar muito lento durante o início das sessões. Para cada session_start, o servidor expira após 30 segundos ou demora cerca de 20 segundos para iniciar a sessão. Isso é muito estranho, já que não faz isso há muito tempo (a última vez que nosso servidor fez isso foi há cerca de 7 meses). Eu tentei alterar a sessão para executar um banco de dados, e isso funciona bem, no entanto, como o nosso site atual é construído, levaria dias para ir a cada página e alterar o carregamento de sessões para incluir uma nova sessão. manipulador. Portanto, minha pergunta permanece:

Por que é tão lento e por que só às vezes?

Nós rodamos em um servidor hetzner dedicado com 24 GB de memória RAM, e uma CPU rápida o suficiente para apenas executar um servidor web simples (um Xeon, eu acredito, mas não tenho certeza). Nós executamos o debian no servidor com uma configuração apache + fastcgi + php5.

O servidor não reporta muita carga, nem através do status do servidor, bem comotop comando.Vnstat relata nenhum problema com o nosso link de rede (mais uma vez, isso não resultaria em um tratamento lento de sessão local).IOtop relata nenhum problema com processos que ocupam todo o disco rígido. Escrevendo para a pasta tmp onde os arquivos da sessão estão localizados trabalha rápido se feito através do vim.

Novamente, para deixar isso claro, minha principal preocupação aqui não é se devemos ou não mudar para um DB ou uma versão em cache de memória das sessões, é simplesmente perguntar por que isso acontece, porque tudo que eu dou uma olhada parece estar funcionando bem, exceto pelo próprio PHP.

EDITAR: O arquivo máximo no nosso diretório PHP tmp é de 2,9 MB, então nada que deve fazer um impacto, eu acredito.

ATUALIZAR: Eu nunca descobri o que estava errado e / ou como consertá-lo, mas o problema desapareceu depois que passamos para as sessões do memcached / db.

questionAnswers(6)

yourAnswerToTheQuestion