Назад | Перейти на главную страницу

Как отслеживать, какой запрос по какому URL создает высокую нагрузку на базу данных (mysql) и php?

Мне интересно, как я могу отслеживать, какой запрос по какому URL создает высокую нагрузку на базу данных (mysql) и сценарии php. Сейчас я использую zabbix (2.4), но я не могу найти то, что может мне помочь с этим. Может быть, кто-нибудь посоветует мне какие-нибудь инструменты, идеи для скриптов или, может быть, другую систему мониторинга для этой цели? Я видел, что у NewRelic есть такая функциональность, но для меня это слишком дорого.

P.S. Это недостаточно для меня

Пинба полностью соответствует моей цели. Отчеты забирает скрипт bash, а затем рисует графики в zabbix.

Я бы сделал следующее:

  1. Ведение журнала для медленных запросов mysql http://dev.mysql.com/doc/refman/5.7/en/slow-query-log.html. Это довольно интенсивно, поэтому включите его ненадолго - остерегайтесь проблем с производительностью.

  2. Если вы используете memcache, изучите это, если вы этого не сделаете, вам, вероятно, все равно следует использовать его по соображениям производительности.

  3. Включить журнал запросов mysql http://dev.mysql.com/doc/refman/5.7/en/query-log.html.
  4. Получите журналы с веб-сервера и свяжите их с журналом запросов, чтобы получить представление о том, что происходит на сервере.
  5. PHP профилирование