Usando o Zend Optimizer + com php-fpm + nginx

3

Nota: Estou falando de um componente anteriormente no Zend Server, mas agora é um módulo autônomo e open-source , e será empacotado com o PHP 5.5 , tem vantagem de desempenho / usabilidade sobre o APC mais usado.

Agora, aqui está o meu problema, eu não consigo fazer o Zend Optimizer + funcionar corretamente com o meu site codeigniter-powered (PHP framework), minha configuração de depuração é a seguinte:

zend_optimizerplus.enable=1
zend_optimizerplus.memory_consumption=128
zend_optimizerplus.interned_strings_buffer=8
zend_optimizerplus.max_accelerated_files=4000
zend_optimizerplus.revalidate_freq=10
zend_optimizerplus.fast_shutdown=1
zend_optimizerplus.enable_cli=1
zend_optimizerplus.optimization_level=0
zend_optimizerplus.error_log=/var/log/zendop.log

Quando o ZO + está ativado, comecei a ver os logs do php-fpm como estes (mas nada mais, nenhum erro de segfault, nenhuma entrada no log de erros do ZO +):

[13-Mar-2013 00:58:45] WARNING: [pool www] child 6734 exited with code 1 after 176.326628 seconds from start
[13-Mar-2013 00:58:45] NOTICE: [pool www] child 6761 started

Basicamente, o processo de trabalho do php foi parado e reiniciado. E todas as páginas parecem estar saindo apenas parcialmente. Liguei a exibição de erro do php com error_reporting(E_ALL & ~E_NOTICE); , mas ainda não vejo nenhum erro do próprio PHP.

Tudo o que posso encontrar no log do Nginx foram entradas como:

2013/03/13 00:22:47 [error] 1761#0: *14 readv() failed (104: Connection reset by peer) while reading response header from upstream, client: [my ip address], server: [my server name], request: "GET /leave HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: [my host name].

2013/03/13 00:22:47 [error] 1761#0: *17 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: [my ip address], server: [my server name], request: "GET /leave HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: [my host name].

Parece que não consigo encontrar muitas informações sobre o que estava acontecendo, e posso confirmar que o site funciona sem ZO +, e a fonte ZO + aparece para compilar e instalar corretamente (teste também passou corretamente, embora não haja muitos testes para executar).

Alguém já teve experiência com o Zend Optimizer +? Estou surpreso em não ver nenhuma menção de um breve módulo em PHP em nenhum lugar deste site.

php -v

PHP 5.3.10-1ubuntu3.5 with Suhosin-Patch (cli) (built: Jan 18 2013 23:40:19)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies

nginx -v

nginx version: nginx/1.1.19

(Se este post pertence ao stackoverflow, por favor, ajude a migrar, embora eu não esteja vendo um erro relacionado à programação aqui.)

    
por bitinn 13.03.2013 / 07:21

1 resposta

2

Após testar com PHP 5.3 / 5.4 sem o patch Suhosin, posso confirmar que o problema original é realmente causado por Suhosin e, infelizmente, a solução alternativa comum suhosin.simulation = On não corrigirá essa incompatibilidade com o Zend O +.

Detalhes podem ser encontrados neste bilhete do github: link , caso você esteja interessado.

    
por 15.03.2013 / 07:27