2015-03-25 4 views
0

Я хочу выйти из системы через некоторое время (скажем, 1 час) бездействия. Для этого можно установить (в Джанго settings.py с помощью SessionMiddleware):Как django SESSION_SAVE_EVERY_REQUEST = Истинно влияет на производительность?

  • SESSION_COOKIE_AGE = 3600
  • SESSION_SAVE_EVERY_REQUEST = True

Однако, боюсь падения производительности. Поэтому мой вопрос: «Как django SESSION_SAVE_EVERY_REQUEST = True влияет на производительность?».

ответ

1

cf Django docs: «Чтобы изменить это поведение по умолчанию, установите для параметра SESSION_SAVE_EVERY_REQUEST значение« Истина ». Если установлено значение« Истина », Django будет сохранять сеанс в базе данных при каждом отдельном запросе».

Если вы используете базовую базу данных как сессионную базу, это запустит UPDATE или INSERT в таблице сеанса для каждого запроса каждым пользователем. Большинство баз данных в основном оптимизированы для операций чтения, поэтому, когда количество операций записи скоро ухудшит производительность вашего сервера и ограничит параллелизм пользователя

+1

Я знал, что для этого требуются операции с базой данных (потому что я прочитал часть цитируемой вами документации). Я также подозревал, что это может вызвать проблемы с производительностью, но мне было интересно, насколько это важно. – gaculek

Смежные вопросы