前几天我收到了一个国内某著名互联网公司的Mongo DBA的一些关于他们公司升级到3.0 WiredTiger的反馈。鉴于社区里很多同学都对升级3.0有些顾虑,在征得他同意后在此和大家分享他的经验。如有问题可以使用博客评论功能。
【以下内容为原文转载,无任何修改】
mongdob3.0.2的一个项目使用汇报:
之前使用18分片的mongoS集群,用于业务的统计分析,比如404、503、请求量以及网址请求次数等等。
mongodb的使用场景为:
1.每秒写入2万条数据,其中insert和update比例为3:7,全部使用upsert方法
2.全部查询均为统计类查询,用于画图
在今年年初由于写入并发量不断增长到3万条每秒,导致出现了严重的性能问题,现象为:
1.写入队列积压,每天大概积压80G数据,数据延迟写入22小时,也就是现在的数据,22小时候才能看到
2.查询基本不可用,无法在页面通过统计绘图了
在4月26号升级到了3.0.2,结果如下:
1.写入队列无任何积压,实时写入
2.查询速度暴快,绘图秒出
3.分片减少了一半,从18个变为9个,每个分片使用2块独立的ssd,等于3.0为我们省下了18块ssd!
4.数据总体积的变化:从3T变成了不到600G
5.慢更新消失了(500ms以上的操作会记录日志)
项目改造之二:
某项目在设计初期使用了mongodb2.6,由于开发设计失误在mongodb中使用了一个很大的数据。而该业务每天需要全亮更新每一个文档,也就是更新数组字段,这致使在ssd上依然出现了性能问题,而由于该项目已经不再更新处于维护节点并且之前的开发已离职,导致无法通过修改业务逻辑变更数据结构来调优。
将其迁移到mongodb3.0后数据提及从202G降低到36G,同时更新性能提高五倍,完美解决了性能问题。
十分给力