Rastreando um anon_inode indescritível e lento a partir do lsof e do Apache strace

2

Vivenciando um problema intermitente com um aplicativo LAMP, no qual o Apache se conecta ao seu ServerLimit e tritura a uma parada (quase). Um strace em qualquer processo httpd mostra várias chamadas epoll_wait lentas.

1.254721 epoll_wait(14, {{EPOLLIN, ...
3.296430 epoll_wait(14, {{EPOLLIN, ...
1.018047 epoll_wait(14, {{EPOLLIN, ...
1.279721 epoll_wait(14, {{EPOLLIN, ...
1.145649 epoll_wait(14, {{EPOLLIN, ...
1.269836 epoll_wait(14, {{EPOLLIN, ...
1.094779 epoll_wait(14, {{EPOLLIN, ...
1.205911 epoll_wait(14, {{EPOLLIN, ...
9.052785 epoll_wait(14, {{EPOLLIN, ...
1.116279 epoll_wait(14, {{EPOLLIN, ...
1.027709 epoll_wait(14, {{EPOLLIN, ...
1.178679 epoll_wait(14, {{EPOLLIN, ...
1.336032 epoll_wait(14, {{EPOLLIN, ...
2.541861 epoll_wait(14, {{EPOLLIN, ...
1.113012 epoll_wait(14, {{EPOLLIN, ...

Um lsof no mesmo processo afirma que este é um anon_inode :

COMMAND  PID   USER   FD   TYPE   DEVICE      SIZE     NODE NAME
httpd   9709 apache   14u  0000      0,7         0      373 anon_inode

Alguma informação sobre o que poderia ser ou conselhos para rastrear essa informação?

    
por Metric Scantlings 24.08.2012 / 21:35

1 resposta

0

Isso é fundamentalmente lsof não está relatando tão bem quanto deveria. Eu posso reproduzir isso no Ubuntu 14.04, mas em um Ubuntu mais novo eu vejo:

perl 511299 frew 3u a_inode 0,11 0 9666 [eventpoll]

O que é bem claro. Basicamente, esse descritor de arquivo epoll sempre parecerá lento porque é literalmente o bloqueio do kernel em um tempo limite ou eventos em vários outros descritores de arquivo. Veja epoll(7) para mais detalhes.

    
por 29.08.2017 / 17:27