В джанго, при работе с удаленным сервером postgres, наблюдаются сильные тормоза. Как победить?

Испробованные варианты:

  • Локальный сервис postgres на Mac M1 - время выполнения миграции менее 2 мин.
  • Сервер в локальной сети - время выполнения миграции ~ 2 мин.
  • Удаленный сервер (в офисе/в облаке), подключение через WireGuard/проброс портов через SSH. Время выполнения той же самой миграции 1,5 часа
  • На облачном сервере открыл порт 5432 в интернет и подключался напрямую - время не изменилось - 1,5 часа.

На всех серверах debian 12. При развертывании postgres 15 настройки оставляю по дефолту.

При миграции в Django, необходимо было перенести информацию в новую таблицу. Запись в новую таблицу проходила по одной за раз: NewObject(*params).save() При таком подходе, для добавления каждой записи на postgres улетает отдельный запрос. В условиях пинга ~50 мсек, время работы увеличилось до 1,5 часов. В итоге миграцию пришлось переписать и добавление всех записей сделать одним запросом к Postgres, используя метод bulk_create в модели Django. Время сократилось до 30 сек.

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