Проблемы производительности приложений Django с облачными PostgreSQL и Redis
Недавно я развернул свое приложение Django на Railway, где установил PostgreSQL и Redis и подключил их к своему проекту. Однако я заметил резкое замедление производительности запросов и кэша по сравнению с локальной работой - на несколько порядков.
Например, одно из моих представлений выполняет запросы за 2,58 мс в локальной базе данных, но занимает 7411,42 мс на Railway. Аналогично, время кэширования того же представления составляет 24,14 мс на локальном Redis, но 2122,14 мс на Railway.
Я ожидал некоторого снижения производительности при переходе на облачный хостинг, но такой уровень замедления кажется чрезмерным. Изначально я подозревал неправильную настройку соединения на Railway, но после тестирования с Redis Cloud производительность осталась такой же, как и у Railway Redis. Я еще не тестировал другие облачные базы данных.
Есть ли у кого-нибудь предположения о том, что может быть причиной столь резкой разницы?
Вот моя настройка базы данных в settings.py:
DATABASES = {
'default': dj_database_url.config(default=os.getenv('DATABASE_URL'))
}
и настройка кэша:
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
SESSION_CACHE_ALIAS = "default"
SELECT2_CACHE_BACKEND = "select2"
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": REDIS_URL,
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
},
'select2': {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": REDIS_URL,
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
}
}
Любая помощь будет очень признательна!
Спасибо!