5

我正在对文档数据存储进行 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 企业版(集群内存:3GB,桶内存:1GB)

文件尺寸:326 B

以下是 POC 的结果

+--------------+---------------------------------- ------------+--------------+--------------+-------- ------+--------------+--------------+------------- +--------------+
| 操作 | 插入(在 10 个批次中,每个批次为 100K)| 选择查询 | 选择查询 | 选择查询 | 选择查询 | 选择查询 | 范围查询 | 范围查询 |
+--------------+---------------------------------- ------------+--------------+--------------+-------- ------+--------------+--------------+------------- +--------------+
| 记录数 | 1000K | 0 | 100 | 33k | 140k | 334k | 114k | 460k |
| 蒙戈 | 99 秒 | 568ms | 792 毫秒 | 1500 毫秒 | 3800 毫秒 | 7800ms | - | 15387ms |
| 沙发底座 | 370 秒 | 8ms | 250 毫秒 | 6700ms | 28000 毫秒 | 69000ms | 28644 毫秒 | - |
+--------------+---------------------------------- ------------+--------------+--------------+-------- ------+--------------+--------------+------------- +--------------+

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

couchbase 和 mongodb 在单节点上的性能差异很大。是否有任何配置参数可以提高沙发底座的性能?

4

3 回答 3

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

于 2016-01-13T23:35:55.630 回答
0

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

于 2016-01-13T23:25:36.670 回答
0

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

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

于 2016-01-13T23:00:14.403 回答