Azure缓存ErrorCode <errca0017>:SubStatus <es0009>此时的已执行配额限制</es0009> </errca0017>

时间:2011-07-27 22:44:30

标签: azure distributed-caching

我正在开发一个MVC 3站点,该站点位于Windows Azure中,配置为使用DistributedCacheSessionStateStoreProvider进行会话状态,而后者又在内部使用Azure缓存。缓存配置为:

<dataCacheClients>
<dataCacheClient name="default">
  <hosts>
    <host name="test.cache.windows.net" cachePort="XXXX" />
  </hosts>
  <securityProperties mode="Message">
    <messageSecurity authorizationInfo="XXXX">
    </messageSecurity>
  </securityProperties>
  <transportProperties receiveTimeout="45000" />
</dataCacheClient>
 </dataCacheClients>

会话提供程序配置为

<sessionState mode="Custom" customProvider="AppFabricCacheSessionStoreProvider">
  <providers>
    <add name="AppFabricCacheSessionStoreProvider" type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache" cacheName="default" useBlobMode="true" />
  </providers>
</sessionState>

自4月以来,我们已经实现了这一点,但最近才开始使用会话存储更多数据。我们的测试缓存服务是128 MB,据说允许5个并发连接。根据Azure管理控制台,我们在任何给定时间使用此服务的最多是0.34 MB。

在我们的日志中,我们经常看到此异常:

  

ErrorCode:SubStatus:暂时失败。请稍后重试。 (请求失败,因为您超过了此时的配额限制。如果您经常遇到这种情况,请将订阅升级到更高的订阅限制)。附加信息:由于资源限制:连接

根据我读过的文档,默认情况下数据缓存客户端的最大连接数设置为1.我在两个实例上运行,我认为这意味着我使用了两个总连接。

请帮助我理解我做错了什么,以及如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

您不会受到存储使用的限制。您还会受到每小时交易和每小时带宽的限制。对于128MB缓存:

  • 每小时400,000笔交易
  • 每小时1,400 MB带宽

你可能会遇到这两种边界条件中的一种吗?

有关AppFabric Cache SLA的更多详细信息,请查看此MSDN blog post