1

这是我在 Stack Overflow 上的第一篇文章,如果其中有任何不符合之处,请致歉。

问题

我开发了一个基于 Windows Azure 的站点(类似于 eBay)并将其托管在 Azure 平台上。我部署了多个启用 Azure 缓存的 Web 角色实例。直到上周一切都很好,但突然产品搜索页面在从 db 加载数据时开始冻结。它仅针对返回大量数据的特定类别挂起。

我在某处读到,如果我们期待大消息,我们应该启用 localCache 和 transportProperties。因此,我如下修改了 web.config 中的数据缓存项,但没有运气。这些类别的页面仍然挂起!

有人可以告诉我以下有什么问题并告诉我一些指示吗?

<dataCacheClient name="default" channelOpenTimeout="20000" maxConnectionsToServer="4" requestTimeout="30000">
  <localCache isEnabled="true" sync="TimeoutBased" ttlValue="300" objectCount="10000"/>
  <clientNotification pollInterval="300" maxQueueLength="10000"/>
  <transportProperties connectionBufferSize="64000" maxBufferPoolSize="5242880"
                       maxBufferSize="1242880" maxOutputDelay="2" channelInitializationTimeout="60000"
                       receiveTimeout="600000"/>
  <hosts>
    <host name="<<AZURE CACHE URL>>" cachePort="22233" />
  </hosts>

  <securityProperties mode="Message">
    <messageSecurity
      authorizationInfo="<<KEY>>">
    </messageSecurity>
  </securityProperties>
</dataCacheClient>

<dataCacheClient name="SslEndpoint" channelOpenTimeout="20000" maxConnectionsToServer="4" requestTimeout="30000">
  <localCache isEnabled="true" sync="TimeoutBased" ttlValue="300" objectCount="10000"/>
  <clientNotification pollInterval="300" maxQueueLength="10000"/>
  <transportProperties connectionBufferSize="64000" maxBufferPoolSize="15242880"
                       maxBufferSize="5242880" maxOutputDelay="2" channelInitializationTimeout="60000"
                       receiveTimeout="600000"/>
  <hosts>
    <host name="<<AZURE CACHE URL>>" cachePort="22243" />
  </hosts>

  <securityProperties mode="Message" sslEnabled="true">
    <messageSecurity
      authorizationInfo="<<KEY>>">
    </messageSecurity>
  </securityProperties>
</dataCacheClient>

我的开发环境、 Azure SDK 1.8(10 月 12 日)、SQL Server 2008 R2、ASP.Net MVC 3

更新

今天我部署了一个关闭 CustomerErrors 的构建,看看它是否抛出任何异常,这就是我得到的。 在此处输入图像描述

提前致谢

ND

4

1 回答 1

0

我建议首先找出哪个组件真正导致您的间歇性减速。它是缓存还是 SQL Azure?

如果它确实是缓存,并且由于您使用的是 Azure 共享缓存(以前称为 Azure AppFabric 缓存)

我建议将专用缓存视为解决方案,而不是共享缓存。共享缓存的性能有时可能......不可预测,因为它是一个多租户服务并且数据通过网络传输。

于 2013-03-11T14:44:47.153 回答