单个节点上的MongoDB与Couchbase性能

时间:2016-01-13 18:46:54

标签: mongodb spring-data couchbase couchbase-java-api

我正在对文档数据存储进行POC,因此我选择了MongoDB和CouchBase进行评估。

环境详情如下

机器:Centos 6.7,2核心CPU,CPU MHz:2494.078,RAM:7 GB(6 GB免费)

MongoDB db版本v3.2.0,默认配置

CouchBase版本:4.1.0-5005企业版(集群RAM:3GB,桶RAM:1GB)

文件大小:326 B

以下是POC的结果

+--------------+---------------------------------------------+--------------+--------------+--------------+--------------+--------------+-------------+-------------+
|  Operation   | insert (in 10 batch each bacth is of 100K ) | select query | select query | select query | select query | select query | range query | range query |
+--------------+---------------------------------------------+--------------+--------------+--------------+--------------+--------------+-------------+-------------+
| Record Count | 1000K                                       | 0            | 100          | 33k          | 140k         | 334k         | 114k        | 460k        |
| Mongo        | 99 sec                                      | 568ms        | 792ms        | 1500ms       | 3800ms       | 7800ms       | -           | 15387ms     |
| CouchBase    | 370 sec                                     | 8ms          | 250ms        | 6700ms       | 28000ms      | 69000ms      | 28644ms     | -           |
+--------------+---------------------------------------------+--------------+--------------+--------------+--------------+--------------+-------------+-------------+

客户端:我使用过JAVA sdk和spring数据。

在单个节点上,couchbase和mongodb的性能存在很大差异。是否有任何配置参数来增加couchbase的性能?

3 个答案:

答案 0 :(得分:1)

当前版本的Spring Data MongoDB似乎使用了WriteConcern.UNACKNOWLEGED - 它的火上浇油而忘记了。您应该启用WriteResultChecking.EXCEPTION或使用WriteConcern.ACKNOWLEDGED。

http://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#mongo.mongo-3.write-concern

答案 1 :(得分:0)

您使用的是什么耐久性选项?你的桶内存用完吗? 2 cpus对于couchbase最低要求是偏低的,如果压缩与您的测试同时运行我希望能有所作为。可以在设置中禁用此功能。

单个节点上的Couchbase不是我在生产中运行的东西,minium 3节点,所以如果你有时间增加你的节点数可能会给你一些更有意义的数字

答案 2 :(得分:0)

如果您有6GB可用内存,则可能需要增加分配给存储桶的内存量。在MongoDB 3.2中,WiredTiger将使用60%的内存减去1GB。对于7GB,这是2.6到3.2GB(我不确定它是可用的60%还是总数的60%)。也许配置您的桶以匹配它。