Strace Saída do processo Apache mostrando 24 segundos de espera? Qual pode ser o motivo?

4

Realizada strace em uma das crianças apache e sua mostrando 24 segundos entre duas chamadas de sistema.Como posso determinar qual é a causa deste comportamento.Parece que ambas as crianças estão tomando quase o mesmo tempo (24,7 e 23,92 ) segundos.

estamos usando o prefork do apache com php5 e mysql 5

/ var / lib / php5 / é a pasta de sessão do php

saída strace do apache children1 com processid -20539

ps -u www-data | grep apache2 | awk '{print "-p" $ 1}' | xargs strace -o /strace/strace.log -ff -s4096 -r

20539 0.000064 close(13) = 0

20539 0.000060 open("/var/lib/php5/sess_9t2cvnvdoruh666rjpm515idm0", O_RDWR|O_CREAT, 0600) = 13

20539 0.000065 flock(13, LOCK_EX) = 0

20539 24.711888 fcntl(13, F_SETFD, FD_CLOEXEC) = 0

20539 0.000056 fstat(13, {st_mode=S_IFREG|0600, st_size=211, ...}) = 0

20539 0.000080 lseek(13, 0, SEEK_SET) = 0

saída strace do apache children2 com processid - 20556

20556 0.000056 close(13) = 0

20556 0.000058 open("/var/lib/php5/sess_9t2cvnvdoruh666rjpm515idm0", O_RDWR|O_CREAT, 0600) = 13

20556 0.000062 flock(13, LOCK_EX) = 0

20556 23.928294 fcntl(13, F_SETFD, FD_CLOEXEC) = 0

20556 0.000055 fstat(13, {st_mode=S_IFREG|0600, st_size=211, ...}) = 0

20556 0.000083 lseek(13, 0, SEEK_SET) = 0

Pode ser um problema com o arquivo que o descritor de arquivos (13) chamou ?? há algo de errado com o meu entendimento da saída strace.

    
por ananthan 10.07.2012 / 17:45

1 resposta

4

No processo, veja o lsof -p <pid>

Você está procurando por FD 13

i.e. de uma das minhas implantações do httpd.

httpd 10865 apache 13w REG 8,5 1113187 59310687 /var/log/httpd/some_site.log

Eu observaria a contenção com a obtenção de um bloqueio exclusivo no arquivo, observado no FD 13 neste caso, se outros processos disputarem bloqueios, como observado por fcntl, isso explicaria sua longa espera.

    
por 10.07.2012 / 17:49