App Fabric: увеличение количества регионов в кэше, используемом для управления сеансами - PullRequest
2 голосов
/ 29 марта 2012

Я интегрировал веб-приложение с Appfabric, чтобы использовать его для управления сеансами (используя поставщика сеансов, который поставляется вместе с Appfabric).После некоторых тестов я понял, что с течением времени с использованием (создание нескольких новых сессий) счетчик регионов кэша продолжает увеличиваться, даже когда истек срок действия большинства сессий. Фактически после периода бездействия около 2 часов они былистатистику, которую я получил от сервера кэша.

Размер: 0 ItemCount: 0 RegionCount: 391 RequestCount: 9979 MissCount: 2729 Я искал это на форумах appfabric, и это то, что я нашел в одном из сообщений

"Присутствие областей не связано с утечкой памяти, поскольку один объект области не занимает более нескольких КБ памяти. Созданные системные области не удаляются в работающем кластере."

Насколько корректно это утверждение ??

Также, насколько я понимаю (может быть и неверно), поставщик состояния сеанса для appfabric создает новый регион для каждого нового сеанса.Если это правильно, что произойдет в случае, если у меня будет несколько миллионов сеансов, созданных в течение нескольких дней. Не будет ли это проблемой.Есть ли работа вокруг?

Одним из решений, которое я могу придумать, является указание региона (вместе с Cachename) в конфигурации поставщика сеансов, но это ограничит все мои сеансы одним сервером кеша (я думаю)

1 Ответ

0 голосов
/ 10 января 2014

AppFabric Cache создает максимум 1024 системных областей. Как правило, если вы намереваетесь использовать кэш для состояния сеанса, я бы сам указывал регионы, таким образом позволяя какое-то сумасшедшее максимальное количество регионов. Во-вторых, в идеале вы хотите использовать серию серверов для состояния сеанса и иметь именованный кеш, работающий не как HA. Мой конкретный сценарий - это 3 сервера, каждый из которых имеет 8 ГБ ОЗУ и имеет регион для каждого сеанса. обратите внимание, что наличие региона для каждого сеанса не требуется, и использование системных регионов - это нормально, поскольку кэш будет управлять тем, где хранятся значения (какой сервер и регион), и вы просто получаете из кеша информацию о состоянии сеанса .

...