Webserver: Impacto no desempenho ao armazenar arquivos de sessão em / dev / shm

1

Eu tenho um site funcionando em uma configuração típica: Linux, Apache, PHP, MySQL.
No entanto, o que não é típico, é que ele está recebendo toneladas de tráfego (mais de 400.000 visitas por dia) e, portanto, a eficiência está se tornando cada vez mais importante para mim.
Estou constantemente procurando coisas que eu poderia otimizar e, agora, minha atenção está focada nos arquivos de sessão do PHP. Há muitos arquivos de sessão constantemente sendo lidos e criados no diretório /tmp .

Então, minha pergunta é: É uma boa idéia armazenar os arquivos da sessão em /dev/shm (tmpfs) para acelerar um pouco as coisas?

    
por GetFree 04.05.2010 / 03:38

1 resposta

3
  • Armazenando em um sistema de arquivos com suporte a memória (como o tmpfs) criado para essa finalidade: talvez.
  • Armazenando em /dev/shm : NÃO!

/dev/shm tem um significado definido: destina-se a ser usado como o armazenamento auxiliar do subsistema de comunicação entre processos da memória compartilhada. Os arquivos devem ser criados usando shm_open (3) e esses arquivos geralmente devem ser usados como compartilhados mapeamentos de memória entre processos de comunicação. O fato de esse local ser implementado como um sistema de arquivos com suporte de memória é um detalhe de implementação.

Se você quiser um lugar para armazenar arquivos temporários, crie seu próprio ponto de montagem para essa finalidade. Outra opção que você deve considerar é usar algo diferente para esses arquivos de sessão, como armazenamento de banco de dados (talvez tabelas MySQL MEMORY usando seu próprio manipulador de sessão ou PgSQL ).

    
por 04.05.2010 / 05:33