Cache PHP Opcode que pode detectar arquivos idênticos

Cache PHP Opcode que pode detectar arquivos idênticos

Atualmente estou usando APC com PHP FPM para armazenar em cache algumas centenas de sites Wordpress. Com um cache de 2 giga tudo funciona bem, mas não é muito eficiente e o cache está sempre no máximo.

Se eu tiver 200 sites Wordpress, todos no mesmo servidor, todos com versões idênticas, ele armazenará em cache 200 arquivos wp-db.php idênticos, por exemplo.

Parece que me lembro de uma discussão há alguns anos sobre como isso poderia ser um risco à segurança. Duvido que isso ainda seja um problema (especialmente com PHP FPM), mas eu controlo todos os sites de qualquer maneira, então os benefícios são melhores do que quaisquer desvantagens.

Isso mudou nos últimos anos? Especialmente com o novo Zend Opcache padrão? Um hack como links simbólicos não é ideal, por exemplo, você não pode atualizar 500 sites de uma só vez, então ele quebraria horrivelmente de vez em quando.

Responder1

Esta é uma resposta parcial, pois não experimentei isso com o opcode zend.

A última vez que usei o apc, esse recurso me pareceu um bug, nunca o vi como um recurso :-). Se você usar chrootpools -ed com php-fpm e se todos os pools tiverem os mesmos caminhos relativos no chroot, eles compartilharão a mesma chave de cache no apc. Como a chave é o caminho absoluto completo do arquivo e em um chroot esse caminho do arquivo não pode conter a parteanteso chroot.

Então você poderia tentar com chroot. Mas isso implica vários truques:

  • os chroots devem conter todos os elementos que o php possa precisar (diretórios temporários, /etc/hosts, alguns dispositivos)
  • php mail não funcionaria e deveria ser usado no modo smtp
  • alguns arquivos devem ser excluídos do cache, todos os arquivos que contêm configurações, se você esquecer desse ponto os sites vão se confundir!
  • talvez alguns outros, chroot nunca é simples

informação relacionada