Как стать автором
Обновить

Комментарии 8

Тем не менее все работало нормально, проблем у пользователей не было.
Можно получить ссылку на ваш сайт и посмотреть?.. А также мне тоже как прогораммисту на Python Django получить ссылку на исходники в github, bitbucket или др. если они выложены в открытый доступ для более детального ознакомления?
Извините, код проприетарный.
Я бы даже и не заметил этого. Но, по какой-то причине, вызов psycopg2.connect иногда подвисает ровно на 5 секунд. Вот в этом я до конца не разобрался. Параллельно запущенный скрипт, который вызывает эту функцию раз в 10 секунд работал стабильно и подключался к БД быстрее чем за секунду за все время пока был запущен.

Возможно, вы не то лечите и проблема лежит не в той части кода. Можно взглянуть на настройки подключения к базе в Django и настройки самой базы данных? Там точно используются IP для доступа к базе за место имен хостов?

Настройки стандартные. ENGINE='django.db.backends.postgresql_psycopg2'. Для эксперимента добавлял в OPTIONS connect_timeout=1, но видимо в psycopg2 стоит ограничение в минимум 5 секунд, т.к. ничего не изменилось. Да и в доке по libpq написано, что ставить меньше 2 секунд — не рекомендуется.


Это точно не gethostbyname. Это было проверено первым делом.

А через сколько запросов вы перезагружаете воркеры?

1000 и jitter=100
В настройки Django БД адаптера добавить CONN_MAX_AGE=None, чтобы подключения были постоянными.

Вот только, если пропадет коннект к вашей БД, то Джанго не переподключится к ней, Вам нужно будет ручками рестартить. Поэтому нужно учитывать что Вам важней: скорость или надёжность

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

Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории