Couchbase群集中的插入性能较慢

时间:2013-12-03 09:13:50

标签: virtualization couchbase

我是Couchbase的新手。我正在使用各种Couchbase设置(单节点,2节点,5节点等)检查INSERT的原始性能。我在Windows Azure上使用VM进行测试,因为我没有足够的硬件来测试它在我的服务器上。我正在使用Couchbase提供的.NET客户端库来编写基于C#的测试应用程序,该应用程序在循环中记录插入。另外,我没有使用任何批量插入选项(如果存在!)

以下是目前为止的插入结果:

  • 硬件服务器上1000万条记录的时间 - 大约10分钟
  • Azuere上VM服务器上1000万条记录的时间 - 大约21分钟
  • Azure上的2节点VM群集上的1000万条记录所花费的时间63分钟

所以这是我的问题:

  • 是否可视化导致插入下降到硬件服务器的一半?
  • 与1节点Couchbase相比,Couchbase 2节点集群的正常情况是3倍?

我已按照this文章在Windows Azure中设置Couchbase群集: Azure上的Couchbase

1 个答案:

答案 0 :(得分:2)

Couchbase通常会强烈使用硬盘和CPU进行索引编制过程。 因此,云中的性能下降是正常的。您可以尝试使用具有更多IOPS甚至SSD的磁盘来减少延迟。

虽然您的应用程序生成数据,但它也使用cpu,因此couchbase性能(在同一个VM上)可能会降低。为了更清晰的测试,我认为您应该在分离的(专用)VM(即VM3)上运行应用程序。此外,由于VM之间的延迟,性能也不同。要减少它,请尝试在一个区域(数据中​​心)中找到VM。我认为如果你使用单独的VM来区分1到2个节点之间的客户端差异,那么群集就不会那么大了。

在您的情况下,1节点群集上的性能主要取决于VM与连接到此VM的硬盘之间的延迟。在2节点中,群集性能主要取决于VM1和VM2之间的延迟,这可能是VM和硬盘之间延迟的2-4倍。因此,您案件中的表现将与迟来的成反比。

performance_1 ~ 1 / HDD_latency_VM1
performance_2 ~ 1 / (HDD_latency_VM1 + Network_latency_2_VM2 + HDD_latency_VM2)