每日一博 | 百万级高并发 MongoDB 集群性能数十倍提升优化实践
mongodb内核、wiredtiger存储引擎、rocksdb存储引擎相关源码分析详见(后续持续更新): https://github.com/y123456yz/reading-and-annotate-mongodb-3.6.1 背景 线上某集群峰值TPS超过100万/秒左右(主要为写流量,读流量很低),峰值tps几乎已经到达集群上限,同时平均时延也超过100ms,随着读写流量的进一步增加,时延抖动严重影响业务可用性。该集群采用mongodb天然的分片模式架构,数据均衡的分布于各个分片中,添加片键启用分片功能后实现完美的负载均衡。集群每个节点流量监控如下图所示: 从上图可以看出集群流量比较大,峰值已经突破120万/秒,其中delete过期删除的流量不算在总流量里面(delete由主触发删除,但是主上面不会显示,只会在从节点拉取oplog的时候显示)。如果算上主节点的delete流量,总tps超过150万/秒。 软件优化 在不增加服务器资源的情况下,首先做了如下软件层面的优化,并取得了理想的数倍性能提升: 业务层面优化 Mongodb配置优化 存储引擎优化 2.1 业务层面优化...
