配置副本时Couchbase数据丢失问题

时间:2018-11-29 11:32:40

标签: performance-testing couchbase database-performance gatling

在使用Gatling对Couchbase服务器进行性能评估期间,我们面临数据丢失问题。

我创建了一个包含2个节点(Mac机)的集群,并使用1个存储桶和1个副本进行了初始化。

加特林测试场景: 50000k 400sec(来自两台计算机的相同请求),它将总共插入100,000条记录

加特林已成功执行该方案并从每台计算机插入50000k条记录。

首次加特林响应(1台机器): enter image description here

第二次加特林响应(2机) enter image description here

这两个响应均显示成功创建数据,而失败次数为零。

但是当我使用查询服务从Couchbase服务器Web控制台检查总记录时,它给出的记录少于100,000。

enter image description here

我们已经对测试进行了多次迭代,但是我们看到副本1或更多副本存在相同的数据丢失问题。

注意:如果我创建未配置副本的存储桶,则跨节点的记录总数和数据分配似乎运行良好。

对于解决此问题的任何建议深表感谢。

我的加特林Scala班:

enter image description here

所以我们要使用8080端口上公开的数据服务。

1 个答案:

答案 0 :(得分:1)

提出了一些澄清的问题,但请注意,默认情况下,Couchbase中的查询最终在所有更新方面都是一致的。您可以通过扫描一致性来控制它,其详细信息为in the docs。如果通过SDK运行查询,则通常是查询的简单参数。

我的猜测是这不是数据丢失,而是索引更新仍在发生。

我不知道任何细节,但是在您的情况下,您是否对查询使用HTTP?您可以通过KV服务获得最佳性能,该服务可以通过其中一个SDK直接访问。