Опрос Strace, пытаясь диагностировать узкое место

Не мог бы повредить запутывать сценарии с этим сценарием оболочки 'компилятор', названный shc. (не действительно компилятор).

5
задан 18 January 2011 в 16:52
1 ответ

Предпримите шаги назад сначала - Вы получаете очень низкий уровень перед обнаружением, где проблема обычно. Простой способ сделать это должно видеть, являются ли статические страницы 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 "это перестало бы работать в открытом () или сокет ()", который имеет намного больше смысла.

Таким образом, действительно это - просто некоторая деталь о том, что очень вероятно не является Вашей фактической проблемой - снова отходят на несколько шагов.

4
ответ дан 3 December 2019 в 01:47

Теги

Похожие вопросы