Сколько секунд может занять вызов API, пока мне не придется беспокоиться? - PullRequest
0 голосов
/ 03 октября 2019

Я должен задать более или менее нестандартный вопрос SO и надеюсь, что вы не возражаете. Сейчас я занимаюсь разработкой своего первого веб-приложения. Я настроил функцию AJAX, которая запрашивает некоторые данные из стороннего API и заполняет мои html-контейнеры возвращаемыми данными.

Сейчас я запрашиваю один единственный объект и заполняю 3 html-контейнера примерно 15 строками Javascriptкод. Когда я активирую процесс / функцию, нажав кнопку на моем веб-интерфейсе, потребуется около 6-7 секунд, пока не будет обновлено HTML-содержимое.

Это разумное время? Честно говоря, пользовательский опыт будет более чем плохим, если учесть, что мне придется запрашивать и манипулировать гораздо большим количеством данных (я создаю панель управления на одном сайте, связанную с футбольными данными).

На этот вопрос могут быть весьма противоречивые ответы, но сколько времени будет достаточно для запуска процесса с использованием стандартной инфраструктуры? 1-2 секунды? (Я разверну приложение на heroku или digitalocean и создам подходящую среду кэширования для обработки «постоянных посетителей»).

Прямо сейчас

  • Я использую сервер virtualenv и django для разработки
  • и демонстрационный сервер от стороннего API, который по какой-либо причине может быть замедлен(как это проверить?)

, что может повлиять на текущее необходимое время (будет много других переменных).

С нетерпением ждем ваших ответов.

1 Ответ

1 голос
/ 03 октября 2019

Я лично думаю (возможно, многие тоже) 6-7 секунд - это значительная задержка для рендеринга маленькой страницы. Возможно, причина этой проблемы не в Джанго. Проверьте следующее:

  1. Я использую сервер virtualenv и django для разработки

    • возможно, вы используете django devserver, рабочий сервер может сделать все немного быстрее(используйте django-debug-toolbar, чтобы найти причину задержки)
    • Do db index в вашей модели.
  2. демонстрационный сервер от стороннего API, который по какой-либо причине может быть замедлен

    • используйте вкладку «Сеть» инструментов разработчика Chrome для просмотрасколько времени займет этот сторонний звонок. это может быть не видно там, если вы вызываете api в вашем view.py. в этом случае добавьте туда некоторый временной код, чтобы вычислить, сколько времени потребуется для возврата.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...