Первое, что приходит на ум: можно отслеживать время выполнения запросов и, если он проходит некоторый порог, который считается нормальным (возможно, средним), он регистрируется вместе с некоторой информацией профилирования (которая в противном случае отбрасывается).
Возможно также выполнимо профилировать отдельные части запроса (например, получение данных из базы данных, логика и т. Д.), А затем снова сравнить время со средними значениями.
Одна ловушка заключается в том, что некоторые страницы / запросы должны обрабатываться значительно дольше других из-за разницы в объеме «работы», которую они выполняют. Для того чтобы избавиться от постоянного потока обычных запросов, которые выполняются дольше по конструкции, нужно было бы сохранить большое количество средних значений для разных частей сайта / разных типов запросов.
Это очень простой подход, но я уверен, что есть лучшие способы сделать это.