Задать вопрос

Как узнать какой php код нагружает процессор?

Всем добрый день.

Дано:
1. Есть vps с LAMP (PHP7.0, mysql последней версии, php крутится в кач-ве модуля apache)
2. Стандартная нагрузка на процессор колеблется в пределах 10-20%.
3. Раз в сутки на наш сервак 1С посылает данные для синхронизации. Процессор это не грузит.
4. Всякие внешние сервисы, наподобие авито, гугла и яндекса также периодически обращаются к серваку, но не грузят сайт.
5. Задач кронтаба также немного и они также не нагружают.

Но вот беда: раз в сутки на 1.5-2.5 часа нагрузка на процессор начинает резко возрастать до 50-60%. В этот момент не наблюдается увеличения трафика, не наблюдается вообще ничего. Сегодня же нагрузка поднялась до 100% и это уже плохо.
top показал, что нагрузка идет со стороны процессов apache, соответственно, косяк скорее всего в php коде. Начал гуглить способы профилирования всего этого дела, пока нашел только запуск server-status со стороны apache2 + тех поддержка хостинга подсказала про lsof -p

И теперь вопрос к знатокам: какие еще способы узнать, какой код и при каком запросе так сильно грузит сервак? Хочу узнать как можно больше способов.
  • Вопрос задан
  • 496 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
На PHPRussia2019 был отличный доклад от Павла Мурзакова из Badoo, где он как раз рассказывал именно про это.

В данном случае поможет https://github.com/adsr/phpspy
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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