centos7.9和rocky8.6 部署MongoDB4.4.18分片集群对比
场景说明:因centos官方后续不做维护了,故想探索一下开源系统 rocky,本文介绍分别在2种系统 上部署了分片群集群,并分别 对2种系统 上的分片集群进行压测,并进行对比,从而提供理论数据供项目后续迁移系统
1、mongodb集群部署
1.1 centos7.9部署mongodb分片集群
部署方法见我的文章 https://blog.csdn.net/qq_34478339/article/details/150771938?spm=1001.2014.3001.5501
1.2 rocky8.6部署mongodb分片集群
部署方法和上面一样,看以往的文章
2、压力软件和mongodb节点信息
环境类型 | 部署机器 | 机器配置 | 磁盘类型 | OS | 角色 |
ycsb-0.17.0 | 1x2.21.231.124 | 4c8g | SSD | centos7.9 | 压力机 |
mongoDB 4.4.18 | 下方信息 | 2c2g | SSD | centos7.9 | / |
mongoDB 4.4.18 | 下方信息 | 2c2g | SSD | rocky8.6 | / |
2.1 centos7.9 mongodb集群节点信息
mongos:
1x2.21.241.30
1x2.21.241.114
config:
1x2.21.241.48 PRIMARY
1x2.21.241.205 SECONDARY
1x2.21.241.195 SECONDARY
shard-1
1x2.21.241.169 PRIMARY
1x2.21.241.60 SECONDARY
1x2.21.241.87 SECONDARY
shard-2
1x2.21.241.189 PRIMARY
1x2.21.241.102 SECONDARY
1x2.21.241.21 SECONDARY
shard-3
1x2.21.241.238 PRIMARY
1x2.21.241.221 SECONDARY
1x2.21.241.239 SECONDARY
2.1 rocky8.6 mongodb集群节点信息(节点信息展示有点不一样,不同脚本获取问题,实际信息展示目的是一样的)
正在检查节点:1x2.21.241.12
资源汇总:CPU=2核,内存=1812MB,最大磁盘=49GB,可用空间=46G
Rocky Linux release 8.6 (Green Obsidian)
正在检查节点:1x2.21.241.22
资源汇总:CPU=2核,内存=1812MB,最大磁盘=49GB,可用空间=46G
Rocky Linux release 8.6 (Green Obsidian)
正在检查节点:1x2.21.241.25
资源汇总:CPU=2核,内存=1812MB,最大磁盘=49GB,可用空间=46G
Rocky Linux release 8.6 (Green Obsidian)
正在检查节点:1x2.21.241.197
资源汇总:CPU=2核,内存=1812MB,最大磁盘=49GB,可用空间=46G
Rocky Linux release 8.6 (Green Obsidian)
正在检查节点:1x2.21.241.161
资源汇总:CPU=2核,内存=1812MB,最大磁盘=49GB,可用空间=46G
Rocky Linux release 8.6 (Green Obsidian)
正在检查节点:1x2.21.241.175
资源汇总:CPU=2核,内存=1812MB,最大磁盘=49GB,可用空间=46G
Rocky Linux release 8.6 (Green Obsidian)
正在检查节点:1x2.21.241.47
资源汇总:CPU=2核,内存=1812MB,最大磁盘=49GB,可用空间=46G
Rocky Linux release 8.6 (Green Obsidian)
正在检查节点:1x2.21.241.42
资源汇总:CPU=2核,内存=1812MB,最大磁盘=49GB,可用空间=46G
Rocky Linux release 8.6 (Green Obsidian)
正在检查节点:1x2.21.241.84
资源汇总:CPU=2核,内存=1812MB,最大磁盘=49GB,可用空间=46G
Rocky Linux release 8.6 (Green Obsidian)
正在检查节点:1x2.21.241.79
资源汇总:CPU=2核,内存=1812MB,最大磁盘=49GB,可用空间=46G
Rocky Linux release 8.6 (Green Obsidian)
正在检查节点:1x2.21.241.35
资源汇总:CPU=2核,内存=1812MB,最大磁盘=49GB,可用空间=46G
Rocky Linux release 8.6 (Green Obsidian)
正在检查节点:1x2.21.241.10
资源汇总:CPU=2核,内存=1812MB,最大磁盘=49GB,可用空间=46G
Rocky Linux release 8.6 (Green Obsidian)
正在检查节点:1x2.21.241.73
资源汇总:CPU=2核,内存=1812MB,最大磁盘=49GB,可用空间=46G
Rocky Linux release 8.6 (Green Obsidian)
正在检查节点:1x2.21.241.147
资源汇总:CPU=2核,内存=1812MB,最大磁盘=49GB,可用空间=46G
Rocky Linux release 8.6 (Green Obsidian)
3.性能压测
3.1、rocky8.6 mongodb4.4.18压测
3.1.1 压写性能
压测命令
time ./bin/ycsb load mongodb -s -P workloads/300w -threads 100
压测软件配置文件
grep -v ‘^#’ workloads/300w
mongodb.url=mongodb://1x2.21.241.12:30000,1x2.21.241.22:30000
mongodb.writeConcern=1
mongodb.db=ycsb
table=ycsb_test
recordcount=3000000
operationcount=10000000
workload=site.ycsb.workloads.CoreWorkload
readallfields=true
readproportion=0
updateproportion=0
scanproportion=0
insertproportion=1
requestdistribution=zipfian
压测结果
3.1.2 压只读
ycsb配置
grep -v ‘#’ workloads/300w
mongodb.url=mongodb://1x2.21.241.12:30000,1x2.21.241.22:30000
mongodb.writeConcern=1
mongodb.db=ycsb
table=ycsb_test
recordcount=3000000
operationcount=10000000
workload=site.ycsb.workloads.CoreWorkload
readallfields=true
readproportion=0.9
updateproportion=0.1
scanproportion=0
insertproportion=0
requestdistribution=zipfian
压测命令
time ./bin/ycsb run mongodb -s -P workloads/300w -threads 100
压测结果
3.1.3 压读写
ycsb配置
grep -v ‘#’ workloads/300w
mongodb.url=mongodb://1x2.21.241.12:30000,1x2.21.241.22:30000
mongodb.writeConcern=1
mongodb.db=ycsb
table=ycsb_test
recordcount=3000000
operationcount=10000000
workload=site.ycsb.workloads.CoreWorkload
readallfields=true
readproportion=0.5
updateproportion=0.5
scanproportion=0
insertproportion=0
requestdistribution=zipfian
压测命令
time ./bin/ycsb run mongodb -s -P workloads/300w -threads 100
压测结果:
3.2、centos7.9 mongodb4.4.18压测
3.2.1 压写性能
time ./bin/ycsb load mongodb -s -P workloads/300w -threads 100
cat 300w
mongodb.url=mongodb://1x2.21.241.30:30000,1x2.21.241.114:30000
mongodb.writeConcern=1
mongodb.db=ycsb
table=ycsb_test
recordcount=3000000
operationcount=10000000
workload=site.ycsb.workloads.CoreWorkload
readallfields=true
readproportion=0
updateproportion=0
scanproportion=0
insertproportion=1
requestdistribution=zipfian
压测结果
3.2.2 压只读
ycsb配置
grep -v ‘#’ workloads/300w
mongodb.url=mongodb://1x2.21.241.30:30000,1x2.21.241.114:30000
mongodb.writeConcern=1
mongodb.db=ycsb
table=ycsb_test
recordcount=3000000
operationcount=10000000
workload=site.ycsb.workloads.CoreWorkload
readallfields=true
readproportion=0.9
updateproportion=0.1
scanproportion=0
insertproportion=0
requestdistribution=zipfian
压测命令
time ./bin/ycsb run mongodb -s -P workloads/300w -threads 100
压测结果
3.2.3 压读写
ycsb配置
grep -v ‘#’ workloads/300w
mongodb.url=mongodb://1x2.21.241.30:30000,1x2.21.241.114:30000
mongodb.writeConcern=1
mongodb.db=ycsb
table=ycsb_test
recordcount=3000000
operationcount=10000000
workload=site.ycsb.workloads.CoreWorkload
readallfields=true
readproportion=0.5
updateproportion=0.5
scanproportion=0
insertproportion=0
requestdistribution=zipfian
压测命令
time ./bin/ycsb run mongodb -s -P workloads/200w -threads 100
压测结果:
3.3 压测对比
3.4 负载对比(负载说明:(w/r/rw 写/读/读写)、/0.84/.75/1 84%/75%/100%)
3.5 总结
同等配置的情况下,压测结果 rocky8.6部署的MongoDB集群的ops略高过centos7.9的MongoDB集群,负载方面rocky8.6上的MongoDB 集群节点负载略低于centos7.9上的MongoDB 集群节点。
希望本文对您有所帮助!你的点赞、收藏和关注这是对我最大的鼓励。如果有任何问题或建议,欢迎在评论区留言讨论。