Найти узкое место API Django - PullRequest
       12

Найти узкое место API Django

0 голосов
/ 20 сентября 2018

У меня установлено приложение Django на Heroku с базой данных PostgreSQL на Amazon RDS.Интерфейс React развернут на Heroku.

В производстве API работает очень медленно, и я не понимаю, почему.Это небольшая, простая база данных.

Как я могу определить, где находится узкое место?

Например, я загружаю страницу из 40 элементов, и это занимает 30 секунд.Даже когда я удаляю реальный запрос, попадание в конечную точку и получение ответа может занять более 6 секунд, что кажется чрезмерным.Это время загрузки недопустимо в моем приложении, и я не знаю, где искать оптимизацию.

Может ли это быть RDS или Heroku?Я повысил до Dyno за 25 долларов в месяц, чтобы увидеть, если это имеет значение, но это не так.Никто еще не использует мое приложение, поэтому объем использования не должен быть фактором.

Я не уверен, имеет ли это смысл, но я бросил некоторые функции print () в моем представлении, чтобы посмотреть, какой раздел занималДольше всего, и кажется, что все мои запросы завершаются быстро, ТОГДА в конце уходит 20 с лишним секунд, чтобы фактически вернуть эту информацию в мое приложение React.

Любые советы о том, с чего начать.

Примечание: я установил Django Debug Toolbar, но я не понял, как заставить его работать для моих реальных запросов API.Это работает для моих страниц панели администратора (которые также очень медленные).

1 Ответ

0 голосов
/ 03 октября 2018

В итоге проблема заключалась в том, что я установил промежуточное программное обеспечение Django под названием Silk.Не уверен, почему это так сильно замедлило, но после удаления мое приложение, вероятно, увеличило скорость в 5 раз!

...