На прошлой работе использовали NewRelic, он так себе, много чего не показывает. Для собственных проектов настроил Pinba + Grafana.
Если проблема в БД, то надо искать тяжёлые запросы (включать slow query log), а также смотреть их частоту. Так как даже быстрые запросы могут тормозить, если их очень много.
Очень часто бывает, что выполняется много лишних запросов из-за косяков проектирования. Или например выгружаются все колонки, когда достаточно одной-двух.
Спасибо за ответ! Прям круто все расписал.
Мы пробовали blackfire для поиска проблемы.
Про пинту слышал и читал, но не использовали. Надо заместить.
А по базе мы используем percona, и там есть дашборд для прометеуса. Мониторим все запросы.