.net - 为什么 Windows Azure 共享缓存如此慢?

标签 .net azure distributed-caching azure-caching

我们目前正在将服务器迁移到 Windows Azure,我们希望利用 Windows Azure 共享缓存。

我们已经为缓存编写了一个提供程序,因此我们可以打开和关闭它(如果需要,可以切换到运行时缓存),但我们发现缓存比运行时缓存慢大约 1000 倍。

例如,从运行时缓存返回一个 Website 对象是 总时间 0.0053 Azure 共享缓存在哪里 总时间 73.6638,在某些情况下总时间 439.3367

别误会我的意思,我预计会有轻微的网络延迟,但这很愚蠢吗?完全无法使用吗?

该对象很小,缓存的总大小为 0.8mb,因此 Website 对象很小。

有人有什么建议吗?我应该使用我见过的半专用缓存预览方法吗?如果像这样无法使用,他们肯定不会拥有这个共享的吗?

我已经看到本地缓存在网络缓存之上工作,但是当缓存在本地重建时仍然会有延迟?

有人可以提供任何建议吗?

已满足以下条件

我们正在使用最新版本的 Azure DLL

我们正在使用与 Azure 缓存位于同一数据中心的网站进行测试

SQL Azure 与实例位于同一数据中心,因此数据检索不是问题

我是当前唯一访问该网站的人,因此我认为并发不是问题

最佳答案

对于您遇到的问题,我们深表歉意。 Windows Azure 共享缓存之前已发布并正在生产中运行。只要您部署在与您配置的缓存相同的数据中心中,它就应该为您提供良好的延迟。您的拓扑结构是什么,缓存在哪里以及您从哪里访问它?

就预览缓存而言,它将为您提供更好的延迟和对缓存的更多控制,因为您是运行它的人。由于您的应用程序是为 memcache 编写的,因此您可能也有兴趣使用我们的 memcache shim。

您可以在此处阅读有关协议(protocol)支持和其他步骤的信息:

http://msdn.microsoft.com/en-us/library/windowsazure/hh914167.aspx

关于“我正在使用虚拟机,但找不到有关连接到它的文档!” ,你想在那里做什么?

关于.net - 为什么 Windows Azure 共享缓存如此慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12690802/

相关文章:

使用主体帐户访问时Azure KeyVault 403 Forbidden

eclipse - 映射减少分布式缓存

asp.net - ASP.NET 中的缓存控制 header 不输出 max-age

c# - 如何在 .Net 中获得最大允许文件大小?

azure - KQL 日期时间格式

azure - Databricks CLI,终止集群

c# - 线程同步。为什么这个锁不足以同步线程

c# - 代表时间的最佳类(class)

c# - 如何解决Azure中NHibernate缓存的 "This operation is not supported by the cache."问题?

java - 是否可以在没有 Terracotta Enterprise Suite 的情况下使用 Ehcache 实现分布式缓存?