2013-12-06 2 views
4

У меня есть приложение, в котором хранится ~ 20000 записей в memcache. Каждая запись представляет собой Serializable с одной строкой и двумя целыми числами. Я установил время истечения 6 часов.AppEngine Shared Memcache vs Выделенный расчет Memcache & Quota

Так что я использовал общий/бесплатный memcache. Кажется, он хранит ~ 5000 записей '-> ~ 7mb. Самая старая запись - всего несколько минут. Почему это?

Я подумал: давайте переключимся на выделенный memcache. Затем кеш работает нормально, он хранит все записи, самая старая запись - 6 часов, все как и ожидалось. За исключением квоты. Спустя несколько часов это говорит о том, что я уже использовал 18 часов «Гбайт».

Ну, мой общий размер кеша ~ 11 мб. Поэтому я бы предположил, что стоимость будет ($ 0,12/Гбайт/час) -> $ 0,12 * ~ 0,01 ГБ * 24 часа в день, что будет всего лишь $ 0,03.

Что я делаю неправильно? Я ошибаюсь? Не понимаю ли я значение «Гбайт часов»?

Спасибо, Goddchen

ответ

3

Выделенные Memcache счета на гигабайт. Таким образом, все, что меньше 1 Гб, объявлено как 1 ГБ, и, вероятно, он работал в течение 18 часов. Да, вроде бы отстой.

6

Специальная memcache AppEngine рассчитана на 1 ГБ кусков, а не на основе того, что вы используете в выделенной выделенной 1 ГБ памяти. См. Здесь https://developers.google.com/appengine/docs/adminconsole/memcache

Ваш выделенный memcache будет стоить вам $ 2,88 в день.

«Специальный» дает вам пространство, но операции в секунду (10 000 операций в секунду).

Что касается вашего опыта на общем (и свободном) memcache, то, что вы видите здесь, не то, что вы обычно ожидаете. К сожалению, вы, скорее всего, находитесь в кластере AppEngine, где некоторые другие приложения злоупотребляют общим memcache.

+0

получил это! для кластерной вещи: могу ли я переключить кластер, на котором работают мои экземпляры? Или сделать что-нибудь еще? – Goddchen

+0

Нет, вы по прихоти того, кто еще использует общий memcache с вами. И поскольку это бесплатно, вы можете поспорить, что все остальные пытаются использовать его столько, сколько могут. Там было много сообщений, которые разделяли memcache как бы отстой. Я ожидаю, что, если вы получите тонну трафика, он будет работать лучше для вас, и если вы получите небольшой трафик, он будет постоянно очищаться, потому что это как раз то, как должна работать memcache. – dragonx

+0

Я переключил свои приложения на выделенный memcache, поэтому я могу только рассказать вам, что мы делали раньше, чтобы улучшить липкость нашего содержимого memcache: я заметил, что выполнение задания, за которым следует получение одного и того же ключа, делает этот ключ более стильным , Если вы делаете ставку, но не получаете данные вскоре после этого, вы уменьшаете скорость попадания в кеш. – Jerome

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