У меня есть сервер Debian (Amazon AWS) с веб-приложением PHP, которым пользуются сотни пользователей.
Моя загрузка ЦП почти всегда ниже 10%. Сегодня около 12:00 ~ у меня было 2 безумных прыжка на 100% ровно за 1 минуту, а затем я вернулся в норму.
Я пытаюсь понять, что именно привело к этому, возможно, пользователь запускает сценарий, который необходимо исправить.
Как мне узнать, что произошло в это время на моем процессоре, какие команды выполнялись и т. Д.?
Лучшим инструментом для такого расследования будет «сар».
«sar» - это встроенная команда Linux, которая на постоянной основе собирает все данные о производительности, сохраняет их и позволяет проводить исторический анализ для выявления узких мест.
Если я не ошибаюсь, он отключен по умолчанию, и вам нужно включить его и включить задание cron, которое будет запускать и собирать события в вашей системе.
Итак, в основном то, что нужно сделать, - это включить sar, дать ему поработать несколько дней, а в следующий раз, когда вы поймаете этот скачок производительности процессора, просто просмотрите файлы журнала sar и найдите, что произошло в вашей системе за это конкретное время.
Вот хороший ресурс о "сар".
Попробуйте новую реликвию APM. Это отлично подходит для мониторинга веб-приложений
Попробуйте какой-нибудь инструмент мониторинга процессора, запустите его на некоторое время и проверьте журналы ... если вы используете WordPress или какие-либо инструменты CMS, попробуйте отключить плагины и проверьте.
Здесь нужно отметить несколько моментов
Чтобы исправить это, вы бы предпочли использовать несколько ядер / потоков вашего сервера, попробуйте оптимизировать свой код.
Как вы отметили время, проверьте журналы, чтобы проверить, какой конкретный сценарий был запущен в этот момент времени.