Apache가 ServerLimit으로 포크되어 (거의) 정지되는 LAMP 애플리케이션에서 간헐적인 문제가 발생합니다. strace
모든 httpd
프로세스에서 수많은 느린 호출이 표시 됩니다 epoll_wait
.
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, ...
lsof
동일한 프로세스에서 이것이 다음과 같다고 주장 합니다 anon_inode
.
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
httpd 9709 apache 14u 0000 0,7 0 373 anon_inode
그것이 무엇인지에 대한 통찰력이나 해당 정보를 추적하기 위한 조언이 있습니까?
답변1
이는 근본적으로 lsof
보고해야 할 것뿐만 아니라 보고되지도 않습니다. Ubuntu 14.04에서는 이것을 재현할 수 있지만 최신 Ubuntu에서는 다음을 볼 수 있습니다.
perl 511299 frew 3u a_inode 0,11 0 9666 [eventpoll]
꽤 분명합니다. 기본적으로 해당 epoll 파일 설명자는 말 그대로 시간 초과 또는 다른 여러 파일 설명자의 이벤트를 차단하는 커널이기 때문에 항상 느리게 보입니다. 자세한 내용은 을 참조하세요 epoll(7)
.