Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 为什么Windows Azure共享缓存如此之慢?_.net_Azure_Distributed Caching_Azure Caching - Fatal编程技术网

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

.net 为什么Windows Azure共享缓存如此之慢?,.net,azure,distributed-caching,azure-caching,.net,Azure,Distributed Caching,Azure Caching,我们目前正在将服务器迁移到Windows Azure,我们希望利用Windows Azure共享缓存 我们已经为缓存编写了一个提供程序,因此我们可以打开和关闭它(如果需要,切换到运行时缓存),但是我们发现缓存的速度大约是运行时缓存的1000倍 例如,从运行时缓存返回网站对象是 总时间0.0053 Azure共享缓存在哪里 总时间73.6638,在某些情况下总时间439.3367 别误会我的意思,我希望会有一个小的网络延迟,但这是愚蠢的?完全不能用了 对象很小,缓存的总大小为0.8mb,因此网站对

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

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

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

别误会我的意思,我希望会有一个小的网络延迟,但这是愚蠢的?完全不能用了

对象很小,缓存的总大小为0.8mb,因此网站对象很小

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

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

有人能提供一些建议吗

满足以下条件

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

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

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


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

为您面临的问题道歉。Windows Azure共享缓存以前已发布,目前正在生产环境中运行。只要您部署在与已配置的缓存相同的数据中心,它就会为您提供良好的延迟。你的拓扑是什么,缓存在哪里,你从哪里找到它

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

您可以在此处阅读协议支持和其他步骤:

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

是否在角色属性中选中启用缓存?客户端在哪里失败(在堆栈中)

关于延迟时间,您在专用缓存上看到了哪些值,设置起来非常容易,不尝试是违法的:)

从缓存的角度来看,存储较小的值始终是一个优点,不仅可以节省传输和存储开销,还可以节省序列化和反序列化成本。您是否考虑过在专用缓存上使用本地缓存?若延迟是你们的主要痛苦,那个么并没有什么能比得上本地缓存

如果您正在尝试memcache场景,这可能也值得一看:


提供商是Azure的提供商。它只是一种在Azure和运行时缓存之间快速切换的机制。我们有一些客户无法访问Azure缓存,所以我们在其中设置了一个配置设置来有选择地打开和关闭它。对不起,我想你误解了。我正在使用Azure共享缓存。在本例中,我使用的不是Blob存储或表存储,而是它们的AppFabric版本。我不知道这是否有用?谢谢,老实说,我想我不会有任何进展的。我现在已经求助于设置两个专用的缓存实例。让我恼火的是,在我们当前的配置中,我在两台机器上安装了memcache,我编写了一个类来实现AppFabric,因为他们有可用的服务,这看起来就像垃圾一样!他们有一个半专用的缓存web角色,但这是特定于web worker和角色设置的,我使用的是虚拟机,找不到有关连接到虚拟机的文档!与技术合作的乐趣仍处于预览状态。无论如何,谢谢你,克丽丝我只想删除我的评论,因为它们对其他人没有任何价值。对于那些对结果感兴趣的人来说。我无法让共享缓存运行得更快,除非我也打开了本地缓存。这是一个超时缓存,因此它是被动的,而不是主动的。主动缓存在共享缓存中不可用,因此最终部署了两个具有完整AppFabric缓存的专用缓存实例。事实上,每GB存储成本更低,没有任何限制,您只需自己设置即可。您好@Ankit,谢谢您的回复。缓存与我运行的机器位于同一区域,但响应时间太长。关于虚拟机问题,我根据说明启动了Azure缓存预览设置,并尝试在我的web.config中使用以下代码<代码>这不起作用,因为它找不到Azure缓存角色?就我的拓扑而言,有两个虚拟机在内部命中缓存。我确实在本地尝试过,但我可以接受在该设置上会有巨大的延迟。我还想使用通知,无论如何我都需要一个更专门的设置。我也在关注Redis,因为我仍然没有得到我想要的吞吐量。我们目前使用RuntimeCache,并希望它是分布式的,我愿意接受较小的延迟,但延迟时间似乎仍然相当大。在这种情况下,我们可能需要重新访问一些代码,并在缓存中存储单个项,而不是对象。