Django 4.2.15 на Cloud Run - сильное замедление работы uWSGI и большое время `domLoading`, но только в одном проекте

enter image description here

enter image description here

Я сталкиваюсь с серьезными проблемами производительности моего приложения Django 4.2.15 при запуске на Google Cloud Run. Однако проблема, похоже, связана только с этим конкретным проектом, поскольку другие проекты на Cloud Run не демонстрируют такого же поведения. Вот подробности:

  • Версия Django: 4.2.15
  • Окружение: Google Cloud Run (1 ядро, 2 ГБ памяти)
  • Веб-сервер: uWSGI 2.0.26 (Nginx не используется)
  • База данных: MySQL (запросы не являются узким местом)
  • Первый ответ При проверке на вкладке "Сеть" в Chrome начальная document загрузка занимает 2,04 секунды.
  • Проблема: Сайт работает значительно медленнее на Cloud Run по сравнению с моей локальной средой.
  • Наблюдение: Панель инструментов отладки Django показывает, что около 90% общего времени тратится на фазу domLoading, которая непропорционально длинная.
  • Кэширование: Сайт хорошо работает при обслуживании кэшированных представлений (т.е. когда избегается обращение к базе данных).
  • Локальное окружение: Приложение работает очень быстро локально, без заметных задержек.
  • Детали облачного запуска:
    • Замедление происходит даже тогда, когда другие пользователи не обращаются к сервису.
    • Это не связано с холодным стартом; служба уже запущена.
    • Другие проекты на Cloud Run не испытывают этой проблемы.

Дополнительно я создал простую статическую HTML-страницу со следующим содержимым:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello world</title>
</head>
<body>
Hello world!
</body>
</html>

Эта страница отображается с помощью базового Django TemplateView, как показано ниже:

path('plane/', TemplateView.as_view(template_name='plane.html'), name='test'),

Несмотря на свою простоту, эта страница загружается на Cloud Run около 2 секунд, что слишком долго.

Учитывая, что эта проблема характерна только для этого проекта и не затрагивает другие мои проекты Cloud Run, я подозреваю, что в конфигурации или настройках этого проекта может быть что-то уникальное, что вызывает проблему.

Может ли это быть связано с тем, как настроен uWSGI, или могут быть другие факторы в рамках этого конкретного проекта, которые способствуют замедлению работы? Любые соображения о том, как диагностировать или решить эту проблему, будут очень признательны.

Дополнительная информация: Результаты Safari и curl

Сафари:

  • domLoading: 2963 мс

curl:

  • http_code: 200
  • time_total: 6.228104
  • time_namelookup: 0.003261
  • time_connect: 0.017354
  • time_appconnect: 0.078004
  • time_starttransfer: 6.095002

Переход с uWSGI на Gunicorn

Я перешел с uWSGI на Gunicorn, но скорость загрузки не улучшилась.

enter image description here

Вернуться на верх