估计同时Azure Appfabric缓存连接

时间:2011-11-01 08:51:20

标签: caching azure appfabric

我正在为危机情况做一些规划(上次我们每天从4k访问者到1.3M)我注意到Azure AppFabric缓存的低端有一些非常低的同时连接限制

128Mb&例如,256Mb缓存= 10个并发连接。

我正在使用缓存进行webrole会话状态 - 但只是在非常有限的情况下放入内容(上个月实时网站已经达到0.03MB!)我如何计算最大连接数 - 是这将相当于我指向它的服务器数量? CPU的数量?

我还没有尝试过,但是缩放缓存看起来可能是24小时的操作???,所以没有足够的响应能力来扩大紧急需求。

遵循一些指导原则,帮助我选择和初始缓存大小并合理扩展。

1 个答案:

答案 0 :(得分:2)

您对缓存的连接数基本上是您拥有的DataCacheFactory个实例的数量。因此,优良作法是尽可能少地使用这些实例。您还需要确保当初始化DataCacheFactory的任何Azure实例在停止时处置该实例时,这有助于清除它已向服务打开的连接。

但是您说您正在使用缓存作为会话提供程序。这为角色的每个实例创建了自己的DataCacheFactory。所以基本上每个角色一个连接。虽然说会话提供商看起来有点松懈,它如何清理它没有使用的连接,所以最好过度配置连接数。

您需要注意的另一件事是缓存上的“每小时事务数”限制。如果对页面的每个请求都需要访问会话信息,那么这就是您可以在一小时内完成的页面请求数。

调整缓存大小实际上非常快,通常只需要一分钟左右。但是你每24小时只能更换一次。因此,如果您增加了负载,可以使缓存更大,但如果负载对于增加的缓存来说太多,那么您需要等待24小时才能再次更改它。所以你可能最好在第一次调整缓存时将缓存设置得更大,并在第二天将其缩小。

修改 虽然此信息在写入时是正确的,但2011年11月(1.6)对SDK的更新引入了缓存连接池,如果您没有通过代码配置缓存,则默认情况下该缓存连接池已打开。这使得只有一个静态DataCacheFactory并不重要,这意味着如果要为会话和应用程序数据使用相同的连接信息,这可能都是一个连接。更多details can be found on MSDN