Комментарии 8
Тем не менее все работало нормально, проблем у пользователей не было.Можно получить ссылку на ваш сайт и посмотреть?.. А также мне тоже как прогораммисту на Python Django получить ссылку на исходники в github, bitbucket или др. если они выложены в открытый доступ для более детального ознакомления?
0
Я бы даже и не заметил этого. Но, по какой-то причине, вызов psycopg2.connect иногда подвисает ровно на 5 секунд. Вот в этом я до конца не разобрался. Параллельно запущенный скрипт, который вызывает эту функцию раз в 10 секунд работал стабильно и подключался к БД быстрее чем за секунду за все время пока был запущен.
Возможно, вы не то лечите и проблема лежит не в той части кода. Можно взглянуть на настройки подключения к базе в Django и настройки самой базы данных? Там точно используются IP для доступа к базе за место имен хостов?
0
Настройки стандартные. ENGINE='django.db.backends.postgresql_psycopg2'
. Для эксперимента добавлял в OPTIONS
connect_timeout=1
, но видимо в psycopg2
стоит ограничение в минимум 5 секунд, т.к. ничего не изменилось. Да и в доке по libpq написано, что ставить меньше 2 секунд — не рекомендуется.
Это точно не gethostbyname
. Это было проверено первым делом.
0
А через сколько запросов вы перезагружаете воркеры?
0
В настройки Django БД адаптера добавить CONN_MAX_AGE=None, чтобы подключения были постоянными.
Вот только, если пропадет коннект к вашей БД, то Джанго не переподключится к ней, Вам нужно будет ручками рестартить. Поэтому нужно учитывать что Вам важней: скорость или надёжность
0
На практике не встречал, и судя по коду, который выполняется после каждого запроса, это предусмотрели.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Оптимизация стадии инициализации Django