O que faria com que um aplicativo PHP segfasse intermitentemente sob carga?

3

Postado isso em stackoverflow mas parece mais relevante aqui ... Eu estou fazendo alguns testes de carga (usando jMeter) em um aplicativo PHP (é um aplicativo symfony, se isso importa). Eu testei em ambas as configurações apache / mod_php e nginx / php_fpm, e com várias versões do php, apache, nginx e linux e os logs estão cheios de erros como estes. Estou com dificuldades para descobrir por que esses segfaults estão ocorrendo:

[Wed Mar 13 00:54:47 2013] [notice] child pid 18830 exit signal Bus error (7), possible coredump in /tmp/apache2-gdb-dump

[Wed Mar 13 00:54:55 2013] [notice] child pid 19016 exit signal Bus error (7), possible coredump in /tmp/apache2-gdb-dump

[Wed Mar 13 00:54:56 2013] [notice] child pid 19002 exit signal Bus error (7), possible coredump in /tmp/apache2-gdb-dump

[Wed Mar 13 00:54:58 2013] [notice] child pid 19041 exit signal Bus error (7), possible coredump in /tmp/apache2-gdb-dump

Quando eu gero um backtrace a partir dos dumps do núcleo eu recebo

[New LWP 588] [Thread debugging using libthread_db enabled] Using host libthread_db library

"/lib/i386-linux-gnu/tls/i686/nosegneg/libthread_db.so.1". Core was generated by '/usr/sbin/apache2 -k start'. Program terminated with signal 7, Bus error.

0 lex_scan (zendlval=0xb6d2ce38) at /build/buildd/php5-5.4.6/Zend/zend_language_scanner.c:2260

Thread 1 (Thread 0xb7485700 (LWP 588)):

0 lex_scan (zendlval=0xb6d2ce38) at /build/buildd/php5-5.4.6/Zend/zend_language_scanner.c:2260

Então, talvez seja algo relacionado à análise? Eu sei pouco sobre internals php no entanto, por isso estou incerto. O que pode estar causando isto?

    
por djrobstep 13.03.2013 / 21:57

2 respostas

0

Este relatório de bug se refere ao mesmo problema: link

Parece haver gravações simultâneas de arquivos & & lê causa isso. O relatório de erros também sugere que não será corrigido em breve.

Então, eu sugeriria uma inspeção profunda do código e usar esquemas de nomeação diferentes para vários canais que acessam o mesmo arquivo.

    
por 10.02.2017 / 13:05
-1

Basta olhar para este link. Funcionou para mim.

link

    
por 12.08.2013 / 20:32