本地AppFabric和本地Memcache - 严格的性能演讲

时间:2011-10-23 15:23:07

标签: c# memcached appfabric

在工作中,我们正在讨论专用内存缓存服务器的可能性。这两个选项是Windows AppFabric Cache Server和Memcached。所以我设置了两个测试,一个用于AppFabric,另一个用于Memcache。

Memcache测试 OS /设备 Memcache VMWare Appliance 使用MemCachedDOTnet_2.0 C#API在VMWare Workstation,Quad Core和8gb内存中进行虚拟化。

在我将几个对象推入缓存后,我开始计时并得到平均值。

  • 放0-1MS(精确度仅为毫秒)
  • 获得14-15MS

AppFabric缓存服务器 没有VM,因为它的所有窗口。四核配8 GB的内存。 同样的事情我在开始工作之前将一些对象压缩到缓存中。在客户端设置中禁用了本地缓存选项。

  • 放0-1MS(精确度仅为毫秒)
  • 获得0-1ms(精确度仅为毫秒)

现在问题是我听说MemCached超级快,但我认为它比AppFabric快,但在Get vs AppFabric上没有慢15ms。对于AppFabric和/或MemCache,其他人的表现是什么?我只是在寻找原始数量的MS和对象大小或我应该看的东西,看看我是否可以使数字更符合我的期望或选项来设置或检查。

2 个答案:

答案 0 :(得分:3)

我看到你在Appfabric上启用了本地缓存。启用本地缓存时,缓存客户端在本地存储对该对象的引用。这使对象在客户端应用程序的内存中保持活动状态。当应用程序请求对象时,缓存客户端首先检查对象是否驻留在本地缓存中。如果是这样,则立即返回对对象的引用而不联系服务器。如果它不存在,则从服务器检索该对象。在将对象存储在本地缓存中之后,应用程序将继续使用这些对象,直到它们失效,无论这些对象是否由缓存群集上的其他客户端更新。因此,最好对不经常更改的数据使用本地缓存。

由于您启用了本地缓存,因此在不联系群集的情况下立即返回该对象。如果您的数据经常更改并且您对过时数据的容忍度较低,则应禁用本地缓存。在禁用本地缓存的Windows Server Appfabric 1.1上尝试相同的测试。

答案 1 :(得分:1)

为什么不测试memcached的windows版本,以便将苹果与苹果进行比较?当你在vm中运行其中一个时,你也会得到额外操作系统的开销。