Я добавлю в свое веб-приложение сервер memcached, чтобы разгрузить множество запросов к базе данных. Я буду в основном кэшировать разные маленькие пары id-name (memberid-membername, blogid-blogname и т. Д.) И ожидаю, что общее количество кешированных элементов будет в сотнях миллионов.
Теперь сервер будет Windows 2008 R2 x64 с 48 Гб памяти. Должен ли я запускать один большой экземпляр memcached x64 (40 ГБ) или 20 экземпляров memcached x32 (2 ГБ каждый)? Клиент .net memcached поддерживает любую конфигурацию, поэтому мой вопрос касается только производительности memcached - меня беспокоит, что с миллиардом элементов в одном экземпляре для кеш-сервера потребуется значительное количество времени, чтобы найти элемент, а не найти один из меньших экземпляров и поиск только среди 50 миллионов элементов.
Я не мог найти никакой статистики в Интернете; любые идеи высоко ценятся!
Поскольку вы будете запускать 20 экземпляров на одном компьютере, я не вижу никакой пользы, если у вас нет разных приложений, которые используют memcache и вы хотите разделить экземпляры для этого. Наличие одного экземпляра вместо 20 сократит милли / микросекунды, затраченные на поиск в хэш-таблице, чтобы найти правильный экземпляр для подключения.
Если вам интересно узнать, как memcache работает затем перейдите по ссылке, я ответил на этот вопрос раньше. Поможет вам принять осознанное решение.