Я могу дать вам некоторые показатели для нашей среды. Мы запускаем 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/