Будут ли ограничения Appc Memcache масштабироваться с моим приложением? - PullRequest
5 голосов
/ 08 марта 2012

Будут ли результаты теста с 1000 пользователями похожи на те, которые я получаю с 10 000 пользователей?Изменит ли использование памяти в 10 раз результаты, которые я получу, если у меня также будет в 10 раз больше запущенных экземпляров?

Я много раз использовал memcache, и он отлично работал.Теперь я хочу добавить в него БОЛЬШЕ, кэшируя результаты нескольких ключевых запросов.Запросы разные для каждого пользователя, и у меня сейчас тысяча пользователей в неделю.

Я настороженно отношусь к этой стратегии.Я мог бы потратить некоторое время на реализацию этого и обнаружить, что для моей тысячи пользователей это прекрасно работает.Но, скажем, популярность моего сайта растет, и вдруг у меня появляется 10000 пользователей.Увижу ли я снижение производительности memcache?

Меня беспокоит очень резкое снижение.Я мог бы предположить, что есть некоторый невидимый предел, такой как 1 ГБ данных memcache, которые мне разрешено использовать.Внезапно, при увеличении использования в 10 раз, я мог бы преодолеть этот предел и увидеть большое количество ударов или что-то в этом роде.

Это кажется очень трудным для клиента - я хотел бы получить комментарий отИнсайдер App Engine.

Спасибо за понимание!

Ответы [ 3 ]

2 голосов
/ 08 апреля 2012

Внутренние элементы реализации Memcache в GAE известны только Google, поэтому, задавая такие вопросы на общедоступном сайте, вряд ли вы получите конкретные ответы.

Но позвольте мне поразмышлять: если вы посмотрите на новый Python NDB API , вы увидите, что по умолчанию ВСЕ получаемые данные хранятся в кэше (частично) в memcache. Так что, если Google делает это по умолчанию в больших масштабах, то, я думаю, они убедились, что memcache масштабируем.

EDIT:

Кроме того, сеансы GAE также используют Memcache для кэширования данных сеансов по умолчанию, что означает, что все приложения, которые используют сеансы (= большинство веб-приложений), также используют Memcache в больших масштабах.

0 голосов
/ 06 октября 2014

Memcache в App Engine будет масштабироваться столько, сколько вы хотите, если у вас нет горячих клавиш.

По мере увеличения вам придется переходить из общего memcache в выделенный memcache, который вы покупаетев единицах по 1 ГБ для эксклюзивного использования.

В дополнение к получению нужного объема памяти, вам также необходимо убедиться, что у вас достаточно memcache для обработки нагрузки.Как описано в документации App Engine memcache , каждый ГБ памяти memcache может поддерживать около 10 Кбайт операций с ключами в секунду, если размер элемента составляет около 1 КБ.

Единственное, что можетдействительно ограничивает масштабирование горячими клавишами.10 тыс. Ключей / с на ГБ применяется только при равномерном распределении ключей.Если у вас небольшое количество ключей с непропорциональным объемом трафика, то они могут превышать возможности части бэкэнд-системы.Раздел просмотра memcache в консоли администратора отобразит ваши верхние клавиши, чтобы помочь вам диагностировать горячие клавиши.

0 голосов
/ 17 января 2013

Вы всегда можете подделать memcache, записав сериализованные данные в blobstore ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...