Sistemas altamente acessados em sua maioria sobrecarregam servidores e ocasionam um um retardo na resposta de requisições feitas pelos clientes. Isso acontece por que o servidor apache precisa fazer os fluxos de entrada e saída em disco, e em seguida o php fazer a "compilação" (interpretação) das instruções que contém nos arquivos.
Para minimizar o esforço mútuo de leitura em disco e interpretação dos scripts, use a ferramenta
eAccelerator para usar a memória RAM como cache para esses scripts, sendo assim haverá um ganho significativo no tempo de resposta às requisições dos clientes.
O eAccelerator é capaz de proporcionar uma aceleração substancial sem que haja necessidade de mudanças ou perda de conteúdo ou influência de outra aplicação.
O eAccelerator é um software open-source, baseia-se no software mmCache escrito por Dmitry. A equipe atual responsável por mante-lo possui 3 colaboradores: Franck Tabary, Bart Vanbrabant, Hans Rakers.
O processo de instalação é simples consiste em compilar o o eAccelerator e configurar o arquivo php.ini.
Fazer download do eAccelerator:
# wget http://bart.eaccelerator.net/source/0.9.6/eaccelerator-0.9.6-rc2.tar.bz2
Descompactar o arquivo:
# tar -xvjf eaccelerator-0.9.6-rc2.tar.bz2
Preparar o extensões php para compilar:
# phpize5
Instalação do eAccelerator:
# ./configure --enable-eaccelerator=shared –with-php-config=/usr/bin/php-config
# make
# make install
Agora é necessário configurar o arquivo php.ini, abra o arquivo e adicione as diretivas abaixo no final do arquivo.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;
;; Configuração do eAccelerator
;; Cleysinho 12 abr 2010
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;
zend_extension="/usr/lib/php5/20060613+lfs/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
Para validar as alterações reinicie o serviço http.