我设置了Windows Azure缓存,因为我想要一种高性能的方式来在多个Web角色之间共享实时数据。我已经读过,使用旧的共享缓存超过10毫秒的访问时间通常表明存在问题,新的Windows Azure缓存预览应该更快。但是,从缓存中读取和写入单个值只需要一秒钟。我认为这可能是我的设置,所以我运行了天蓝色延迟测试项目,我得到的这些时间并没有那么糟糕,但仍然很慢:
1000 Add Operations
Average cache latency/key: 104.318ms
1000 Get Operations
Average cache latency/key: 96.881ms
1000 Put Operations
Average cache latency/key: 105.48ms
BulkGet of 1000 Keys from Local Cache
Average cache latency/key: 4.641ms
1000 Remove Operations
Average cache latency/key: 254.14ms
这是代码的链接,而不是试图发布所有相当大的代码: http://code.msdn.microsoft.com/windowsazure/Windows-Azure-Cache-c3e80a1f
这是我的web.config设置:
<dataCacheClients>
<dataCacheClient name="default">
<autoDiscover isEnabled="true" identifier="X" />
<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
<securityProperties mode="Message" sslEnabled="false">
<messageSecurity authorizationInfo="X" />
</securityProperties>
</dataCacheClient>
</dataCacheClients>
我错过了什么,或者这些是我可以期待的那种惨淡的时刻?
答案 0 :(得分:7)
如果我已正确阅读示例,则应在运行测试之前将其部署到Azure。
缓存服务并非设计为在其部署的数据中心之外使用,因为其性能将受到相对高延迟的网络连接的限制。平均时间为100毫秒可能是您与缓存服务之间的网络延迟。