这是我在Stack Overflow上的第一篇文章,所以如果有任何不符合项,请道歉。
问题
我开发了一个基于Windows Azure的站点(类似于eBay)并在Azure平台上托管它。我已经部署了多个Web角色实例,并启用了Azure缓存。直到上周一切都很顺利,但突然产品搜索页面从db加载数据时开始冻结。它仅针对返回大量数据的特定类别挂起。
我读到某个地方,如果我们期待大的消息,我们应该启用localCache和transportProperties。因此,我在web.config中修改了datacache项,如下所示,但没有运气。该页面仍然挂起了这些类别!
有人可以告诉我下面的内容有什么问题并向我展示一些指示吗?
<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
答案 0 :(得分:0)
我建议首先找出哪个组件真正导致间歇性减速。是缓存还是SQL Azure?
如果它确实是缓存,并且因为您正在使用Azure共享缓存(以前称为Azure AppFabric缓存)
我建议将专用缓存视为解决方案而不是共享缓存。共享缓存的性能有时是......不可预测的,因为它是一个多租户服务,数据通过网络传播。