Django.db.utils.OperationalError: соединение с сервером по адресу "database" не удалось: FATAL: извините, уже слишком много клиентов

У меня был всплеск этой ошибки в моем приложении Django:

django.db.utils.OperationalError: connection to server at "name-of-the-db" (172.17.0.11), port 5432 failed: FATAL: извините, слишком много клиентов уже

Мое приложение Django развернуто на dokku и подключено к базе данных postgres. Подключение к базе данных осуществляется с помощью пакета dj-datbase-url, а настройки выглядят следующим образом:

DATABASES = {
    "default": {
        **dj_database_url.parse(
            os.environ.get("DATABASE_URL", False), conn_max_age=600
        ),
        "ATOMIC_REQUESTS": True,
    }
}

Я использую daphne перед Django, и я запускаю 3 процесса с daphne.

Что могло вызвать эту проблему?

Я читал, что возможным решением является отказ от параметра conn_max_age или установка более низкого значения, но я не уверен в этом и не совсем понимаю, как это работает, поэтому любые рекомендации приветствуются.

Кроме того, я не зарегистрировал никакого аномального трафика на своем сайте, но мне интересно: это то, что может произойти "спонтанно", возможно, из-за неправильной настройки, или это может быть связано с вредоносной деятельностью?

Наиболее вероятное объяснение, которое я могу придумать - это утечка соединений с базой данных в моем приложении, но я не могу понять, как их найти.

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