Подтвердить что ты не робот

Сравнение производительности использования django signed cookie session над django db + сеансом на основе кеша?

Django 1.4 предлагает несколько способов поддерживать сеансы django:

Моя точка зрения на использование:

i): не предпочтительнее, сеансы пользователей могут быть очищены из memcache.

ii) Db + cache (cached_db): предпочтительное, простое и безопасное решение.

iii) Подписанные сеансы cookie: желательно, база данных не попадает.

Предполагая, что данные сеанса очень малы, то есть нет проблем с его хранением в cookie. Есть ли преимущество в производительности при использовании подписанного файла cookie над движком сеанса базы данных + memcache? Что касается N одновременных новых пользователей, будет сохранен порядок из N удаленных баз данных. Это уменьшит количество запросов, которые сервер баз данных должен обрабатывать в единицу времени.

UPDATE. Мы обнаружили redis или аэросик как действительно надежный и высокопроизводительный сеанс для django. Мы используем redis как сеансы бэкенд

4b9b3361

Ответ 1

Вы должны уметь обрабатывать N одновременных запросов (N - одновременное новое пользователей).

Вы видите разницу только в очень крупном масштабе. Вы должны быть пессимистом (сервер опущен, плохой buckup, amazon bancrupcy), и ваша база данных должна быть способна обрабатывать всех пользователей в часы пик.

  • 10 000 000 пользователей с сессией cookie будут стоить вам 0 $за дополнительную плату, проблемы с iframe и мобильными телефонами.
  • 10 000 000 пользователей с сеансом кеша будут стоить вам сотни или менее ста долларов ежедневно, потерянные сеансы в случае перезагрузки.
  • 10 000 000 пользователей с сеансом cache_db будут стоить вам тысячи долларов в день (любое постоянное хранилище, способное обрабатывать 1 000 000 обращений за один раз, 10% пользователей).

Я использую redis backend (периодическое сохранение на диск) с возможностью переключения на кластер служб memcached.

http://www.icis.com/blogs/icis-chemicals-confidential/files/2011/10/19/goodcheapfast.jpg