Что является источником медленного времени отклика на клиенте, когда сервер работает быстро, в веб-приложении Python, размещенном в Azure - PullRequest
0 голосов
/ 23 октября 2019

У меня есть простое веб-приложение Python, размещенное в Azure. Вот подробности:

  • Служба приложений Azure для Linux (базовый план обслуживания - B1 с 1 ядром)
  • Структура Django
  • Бэкэнд Postgres через базы данных Azure для PostgreSQL
  • Использование Vue на стороне клиента
  • Все сервисы находятся в одной группе ресурсов

Проблема

Это простое приложение, и запросы к базе данных занимают около 30 мс , включая время на выбор. Однако приложение работает довольно медленно. Начальное время загрузки SPA в клиенте составляет около 10 с , а последующие запросы занимают около 7-8 с .

Устранение неполадок

Я взглянул на время отклика в представлении приложения, и оно мне показалось приемлемым.

Response time of request

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

Request for a single page load

Затем я попробовал различные конфигурации оружия,смена рабочих и темы. Я остановился на 1 рабочий с 4 потоками . Это улучшило производительность до 1,5-2 с на загрузку страницы после загрузки SPA. Это все еще не вполне удовлетворительно, особенно учитывая, что понимание приложений предполагает, что среднее время отклика составляет 160 мс .

Затем я масштабировал приложение доПремиум-план обслуживания (P3v2 с 4 ядрами) с использованием 1 рабочего и 9 потоков в конфигурации gunicorn , и ответ на клиенте такой же. Любые предложения о том, что может происходить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...