ограничения memcached - PullRequest
       8

ограничения memcached

2 голосов
/ 11 декабря 2008

Кто-нибудь испытывал ограничения memcached в отношении:

  • объектов в кеш-хранилище - есть ли момент, когда он теряет производительность? Объем выделенной памяти - с какими основными числами работать?

Ответы [ 2 ]

3 голосов
/ 10 февраля 2009

Я могу дать вам некоторые показатели для нашей среды. Мы запускаем memcached для Win32 на 12 блоках (в качестве кеша для очень тяжелого веб-сайта ASP.NET). Эти коробки имеют свои собственные другие обязанности; мы просто распределяем memcached узлы по всем машинам с памятью, чтобы сэкономить. Для каждого узла было выделено максимум 512 МБ памяти memcached.

Наши узлы имеют в среднем 500 - 1000 открытых соединений. Типичный узел имеет 60 000 элементов в кеше и обрабатывает 1000 запросов в секунду (!). Все это работает довольно стабильно и требует минимального обслуживания.

Мы столкнулись с двумя видами ограничений: 1. Использование процессора на клиентских машинах. Мы используем сериализацию .NET для хранения и извлечения объектов в memcached. Работает без сбоев, но загрузка процессора может сильно возрасти при наших нагрузках. Мы обнаружили, что некоторый объект лучше сначала преобразовать в строки (или фрагменты HTML), а затем кэшировать. 2. У нас были некоторые проблемы с тем, что в memcached ящиках заканчивались соединения TCP / IP. Помогло распределение по нескольким коробкам.

Мы запускаем memcached 1.2.6 и используем клиент .NET с http://www.codeplex.com/EnyimMemcached/

1 голос
/ 11 декабря 2008

Я не могу ручаться за точность этого утверждения, но несколько месяцев назад на встрече с linux / разработчиком инженер рассказал о том, как его компания сократила использование memcache до 2 ГБ, по 3-4 на каждый блок памяти. Они обнаружили, что пропускная способность была хорошей, но с очень большими демонами memcache они получали на 4% больше промахов. Он сказал, что они не могут понять, почему есть разница, но решили просто пойти с тем, что работает.

...