App Fabric:增加用于会话管理的缓存中的区域计数 [英] App Fabric : Increasing Region Count in Cache used for Session management

查看:75
本文介绍了App Fabric:增加用于会话管理的缓存中的区域计数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,


我已经将一个Web应用程序与Appfabric集成在一起,用于会话管理(使用Appfabric附带的会话提供程序)。经过一些测试后,我意识到随着时间的推移,使用(创建几个新会话),即使大多数会话已经过期,Cache的持续增加也是
的区域数。事实上,在没有活动的一段时间之后大约2个小时,这些是我从缓存服务器获得的统计数据。




大小        :0
$
ItemCount   :0
$
RegionCount :391

RequestCount:9979

MissCount   :2729

我在appfabric论坛上搜索了这个,这就是我在其中一个帖子中找到的结果


"区域"存在与内存泄漏无关,因为一个区域对象不占用超过几KB的内存。创建的系统区域不会在正在运行的群集中删除。"



如何正确这个陈述??


同样根据我的理解(也可能是不正确的),appfabric的会话状态提供程序为每个新会话创建一个新区域。  如果它是正确的,那么当我在一段时间内创建了几百万个会话时会发生什么情况。请问
这不是问题。是否有解决方法? 


我能想到的一个解决方案是在会话提供程序配置中指定一个区域(以及Cachename),但这会将我的所有会话限制为单个缓存服务器(我猜)。






解决方案


大家好,


我已经在Appfabric中集成了一个Web应用程序用于会话管理(使用Appfabric附带的会话提供程序)。经过一些测试后,我意识到随着时间的推移,使用(创建几个新会话),即使大多数会话已经过期,Cache的持续增加也是
的区域数。事实上,在没有活动的一段时间之后大约2个小时,这些是我从缓存服务器获得的统计数据。




大小        :0
$
ItemCount   :0
$
RegionCount :391

RequestCount:9979

MissCount   :2729

我在appfabric论坛上搜索了这个,这就是我在其中一个帖子中找到的结果


"区域"存在与内存泄漏无关,因为一个区域对象不占用超过几KB的内存。创建的系统区域不会在正在运行的群集中删除。"



如何正确这句话??


该陈述是正确的。 400多个区域几乎不值得关注。


同样根据我的理解(也可能不正确),appfabric的会话状态提供程序创建了一个新的每个新会话的区域。  如果它是正确的,那么当我在一段时间内创建了几百万个会话时会发生什么情况。请问
这不是问题。是否有解决方法? 


您正在使用的会话状态商店提供商的缓存服务器版本和类型是什么?随缓存一起提供的会话状态提供程序不使用区域。因此,您看到的391个区域(其中一些是系统区域)尚未被
会话状态商店提供商添加。


我能想到的一个解决方案是在会话提供程序配置中指定一个区域(以及Cachename),但这会将我的所有会话限制为单个缓存服务器(我猜)。



您的猜测是正确的。由于显而易见的原因,建议不要将会话状态限制为单个缓存服务器。


Hi All,

I have integrated a web application with Appfabric to be used for session management (using the session provider that ships with Appfabric). After some tests i realized  that over time with usage(creation of several new sessions), the Region Count of the Cache keeps on increasing even when most of the sessions have expired.Infact after a period of no activity of around 2 hours , these were the statistics i got from the cache server.


Size         : 0
ItemCount    : 0
RegionCount  : 391
RequestCount : 9979
MissCount    : 2729

I searched this on the appfabric forums and this is what i found in one of the posts

"Regions' presence is not related to memory leakage as one region object doesn't occupy more than a few KBs of memory. System regions once created are not removed in a running cluster."

How correct is this statement ??

Also to my understanding(might be incorrect as well), the session state provider for appfabric creates a new region for each new session.  If it is correct what would happen in case when i am having a few million sessions created over a period of days.Would it not be a problem. Is there a work around ? 

One solution i can think of is specifying a region(along with Cachename) in the session provider configuration , but that would limit all my sessions to a single cache server(i guess).

解决方案

Hi All,

I have integrated a web application with Appfabric to be used for session management (using the session provider that ships with Appfabric). After some tests i realized  that over time with usage(creation of several new sessions), the Region Count of the Cache keeps on increasing even when most of the sessions have expired.Infact after a period of no activity of around 2 hours , these were the statistics i got from the cache server.


Size         : 0
ItemCount    : 0
RegionCount  : 391
RequestCount : 9979
MissCount    : 2729

I searched this on the appfabric forums and this is what i found in one of the posts

"Regions' presence is not related to memory leakage as one region object doesn't occupy more than a few KBs of memory. System regions once created are not removed in a running cluster."

How correct is this statement ??

The statement is correct. 400-odd regions is hardly a cause for concern.

Also to my understanding(might be incorrect as well), the session state provider for appfabric creates a new region for each new session.  If it is correct what would happen in case when i am having a few million sessions created over a period of days.Would it not be a problem. Is there a work around ? 

What cache server version and type of session state store provider you are using? The session state providers that ship with cache do not use regions. So, the 391 regions (some of these are system regions) that you see have not been added by the session state store provider.

One solution i can think of is specifying a region(along with Cachename) in the session provider configuration , but that would limit all my sessions to a single cache server(i guess).

Your guess is spot-on. Limiting session state to a single cache servers is not recommended for obvious reasons.


这篇关于App Fabric:增加用于会话管理的缓存中的区域计数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆