Не мог бы повредить запутывать сценарии с этим сценарием оболочки 'компилятор', названный shc. (не действительно компилятор).
Предпримите шаги назад сначала - Вы получаете очень низкий уровень перед обнаружением, где проблема обычно. Простой способ сделать это должно видеть, являются ли статические страницы HTTP медленными от Apache - если они не затем, возможно, DB, является медленным. Следующий шаг, который я сделал бы, должен видеть, сколько времени запросы DB берут.
Также, если это - все в той же системе, можно посмотреть на системные ресурсы, будет инструменты такой как top
, iotop
, и iostat
.
Относительно poll
системный вызов:
Я попытался бы добавить -c
переключитесь на strace Apache для наблюдения то, что синхронизации находятся на каждом syscall при сужении его к апачу прежде, чем сфокусироваться на системном вызове. Например, вершина моего вывода от здорового HAProxy:
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
38.79 0.001152 0 6089 epoll_wait
poll
системный вызов используется для ожидания для доступного событие на дескрипторе файла. Мое первое предположение начиная с тайм-аута является настолько низким, что это - нормальное функционирование Apache. Могло бы случиться так, что Apache исчерпывает дескрипторы файлов, так как дескриптор файла необходим для каждого сетевого сокета если это на самом деле проблема. Вы могли посмотреть на раздел руководства Apache по Дескрипторам файлов, если Вы добираетесь до этой точки. Но по данным DerkK "это перестало бы работать в открытом () или сокет ()", который имеет намного больше смысла.
Таким образом, действительно это - просто некоторая деталь о том, что очень вероятно не является Вашей фактической проблемой - снова отходят на несколько шагов.