Как установить размер кеша в Windows Server AppFabric?
В настоящее время я оцениваю Windows Server AppFabric как решение распределенного кэша. Если мы реализуем AppFabric, у нас будет что-то вроде 3 или 4 разных веб-приложений, использующих его для кэширования. Я видел, что AppFabric предоставляет возможность создавать именованные кэши. Мне интересно, можно ли установить максимальный размер в именованном кеше? Похоже, вы можете установить макс. объем памяти для узла кластера кеша, но я не видел ничего, что указывало бы на то, что это можно сделать для каждого кеша.
Причина, по которой я заинтересован в установке макс. Размер для каждого кэша - моя мысль, что мы создадим один именованный кэш для каждого приложения, которое будет использовать AppFabric. Тогда объекты, кэшированные, например, приложением A, потенциально не могут привести к выселению объектов, кэшированных приложением B. Возможно, я неправильно думаю об этом, или есть другая функция AppFabric, которая может это сделать. Любое понимание будет оценено.
2 ответа
Боюсь, что это невозможно сделать в AppFabric.
Именованный кеш - это логический контейнер для ваших данных, и каждый кеш охватывает все узлы кеша в кластере. Поскольку вы можете динамически добавлять / удалять хосты в кластере, не имеет смысла указывать размер именованного кэша.
Вот почему очень важно планировать использование кэша, а также следить за кластером. Один из способов сделать это - использовать счетчики производительности (вы также можете получить размер именованного кэша).
Единственное ограничение, которое вы можете указать, относится к хосту кэша (это повлияет на весь настроенный именованный кеш в кластере): он используется только для выселения. Эта функция больше связана с мониторингом здоровья.
Для справки для тех, кто хочет изменить кеш для всего кластера:
Изменение размера на хосте для всех именованных кешей
http://blog.milrr.com/2012/05/code-how-to-change-appfabric-cache-size.html
stop-cachecluster
set-cachehostconfig -HostName ENVY7-WIN8-2 -CachePort 22233 -CacheSize 1024
start-cachecluster
Это устанавливает кэш 1 ГБ. Лучшие практики предполагают, что вы не должны превышать 50% ОЗУ, на что указывает @geo1701.