Как проследить высокий процесс Apache ЦП до конкретного virtualhost

Основная установка сервера Ubuntu является довольно скелетом. Если Вы хотите пойти еще меньшие, Вы могли бы попробовать Щенка Linux http://puppylinux.org/main/Overview%20and%20Getting%20Started.htm

Я обычно использую установки сервера Ubuntu для моего апача и базы данных VMs.

4
задан 8 April 2014 в 12:38
1 ответ

Чуть позже я нашел ответ в документации : simpleid предоставляет файл YADIS. Итак, с

$ cat /var/lib/simpleid/identities/foo.identity 
identity="https://example.com/simpleid/xrds/foo"
pass="deadbeefdeadbeefdeadbeefdeadbeefdeadbeef"

я могу использовать https://example.com/simpleid/xrds/foo в качестве OpenID без дополнительной настройки.

s нет гарантии, что запросы, вызывающие всплески, обслуживаются дольше, чем другие, но это вполне вероятно и дает вам отправную точку для расследования.

Для этого вам нужно определить новый LogFormat и CustomLog, который включает параметр% D. См. Документацию Apache mod_log_config .

Другой вариант, который, вероятно, слишком низкоуровневый, но может дать вам представление о характере нагрузки, - связать родительский процесс apache с помощью -f для отслеживания дочерних элементов и -c для отображения времени ЦП для каждого вызова, например strace -f -c -p

Когда вы узнаете, какие системные вызовы занимают больше всего времени, вы можете затем проследите их напрямую. Например, предположим, что сервер тратит много времени на write (), тогда вы можете выполнить strace -f -e trace = write -p ,

2
ответ дан 3 December 2019 в 03:58

Теги

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