Медленные запросы Django: соедините операторы фильтра Django с медленными запросами в журналах базы данных

Если вы пытаетесь диагностировать медленные запросы в своем бэкэнде mysql и используете внешний интерфейс Django, как вы связываете медленные запросы, сообщаемые бэкэндом, с определенными наборами запросов в коде внешнего интерфейса Django?

2 ответа

Я думаю, что у вас нет альтернативы, кроме регистрации каждого django-запроса для подозрительных наборов запросов.

Посмотрите этот ответ о том, как получить доступ к фактическому запросу для данного набора запросов.

Если вы установите django-devserver, он покажет вам запросы, которые выполняются, и время, которое они занимают в вашей оболочке при использовании runserver.

Другой альтернативой является django-debug-toolbar, которая сделает то же самое при наложении боковой панели на вашем сайте.

В любом случае вам нужно будет проверить это в своей среде разработки. Тем не менее, ни один из них не решает проблему точного определения вас непосредственно на оскорбительные запросы; они работают на основе запроса. В результате вам придется немного подумать о том, какие из ваших представлений наиболее интенсивно используют базу данных и / или имеют дело с исключительно большими объемами данных, но выбирая наиболее подходящие представления и проверяя время для поиска. Запросы, выполняемые на этих страницах, должны быть в состоянии определить, какие именно запросы являются худшими.

Другие вопросы по тегам