我是Couchbase的新手。我正在使用各种Couchbase设置(单节点,2节点,5节点等)检查INSERT的原始性能。我在Windows Azure上使用VM进行测试,因为我没有足够的硬件来测试它在我的服务器上。我正在使用Couchbase提供的.NET客户端库来编写基于C#的测试应用程序,该应用程序在循环中记录插入。另外,我没有使用任何批量插入选项(如果存在!)
以下是目前为止的插入结果:
所以这是我的问题:
我已按照this文章在Windows Azure中设置Couchbase群集: Azure上的Couchbase
答案 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)