站长社区 _ SEO论坛 _ SEO优化

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 537|回复: 3
收起左侧

[IMB DB2] MongoDB sharding 集合不分片性能更高?

[复制链接]
gydtep2002 发表于 2019-7-17 09:22:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
最近云上用户用户遇到一个 sharding 集群性能问题的疑惑,比较有代表性,简单分享一下
测试配置
  • mongos x 2、shard x 3
  • 测试1:集合不开启分片,批量 insert 导入数据,每个 batch 100 个文档
  • 测试2:集合开启分片,随机生成 shardKey,chunk 已提前 split 好,能确保写入均分到3个shard
    2 c  c5 Q1 d$ i: x
测试结果
  • 测试1:单个 shard cpu 跑满,insert qps 在 6w 左右
  • 测试2:3个 shard cpu 跑满,insert qps 在 7w 左右(平均每个分片2.4w左右)! M8 e+ C; ]0 P4 f/ _
注:两个测试里,mongos 都不是瓶颈,能力足够
从测试结果看,每个shard都承担 1/3 的负载,的确达到横向扩张的目的,但为啥分片之后,单个shard的能力就下降了呢?如果是这样,sharding的扩展能力如何体现?
申请阿里云企业邮箱等产品时,可以使用2000元阿里云代金券。领取后,用户可通过“控制台-费用-代金券”查看已领取的红包详情。
结果分析
这里核心的问题在于 batch insert 在 mongos 和 mongod 上处理行为的差别
  • 导入数据时,一次 insert 一条数据,和一次 insert 100 条数据,性能差距是很大的;首先减少了client、server 端之间的网络交互;同时 server 可以将 batch insert 放到一个事务里,降低开销;
  • mongos 在收到 batch insert 时,因为一个 batch 里的数据需要根据 shardKey 分布到不同的shard,所以一个 batch 实际上需要被拆开的;这里 mongos 也做了优化,会尽量将连续的分布在一个shard上的文档做 batch 发到后端 shard。
  • 在集合不开启分片的情况,mongos 收到的 batch 肯定是转发给 primary shard,所以转发过去还是一整个 batch 操作; 而在集合开启分片的情况下,因为用户测试时,shardKey 是随机生成的,基本上整个 batch 被打散成单条操作,逐个往后端 shard 上发送,请求到后端 shard 基本已经完全没有合并了。
    + ^! Z8 @9 f: b+ u& y2 z% u
所以在上述测试中,不分片的单个 shard 6w qps、与分片后每个 shard 2.4w qps,实际上就是请求是否 batch 执行的差别。
对应用的影响
从上面的分析可以看出,batch 往分片的集合写入时,因为无法预知数据应该分散到哪个分片,实际上往后端 shard 写入时,会失去 batch 的效果,但这个批量导入一般发生在数据导入阶段,影响比较小。
/ j. u% G, a3 B9 g! V( r7 s
回复

使用道具 举报

 楼主| gydtep2002 发表于 2019-7-19 14:22:35 | 显示全部楼层
。申请阿里云服务器等产品时,可以使用2000元阿里云代金券,阿里云官网领取网址: https://promotion.aliyun.com/ntm ... l?userCode=2a7uv47d : d$ T( W6 u- L( o% F1 |% e) X
     特别提醒您:首次购买时先将所有要买的业务都加入到购物车,最后一起付款,这样才可享受优惠。如果一个一个买,那就只有首单才能享受优惠,从第2单开始就不能享受优惠了。 " T9 I+ t  x, P
  
回复 支持 反对

使用道具 举报

naxun 发表于 2019-8-15 11:17:47 | 显示全部楼层
广东纳讯网络技术有限公司,全方位整合网络资源的专业IDC基础服务商,是拥有ISP资质的电信运行商!自主运营4星级机房,省电信骨干网络!丰富的机房、机柜、IP、带宽、服务器资源!主要经营服务器租用与托管、带宽等业务!厚实的售后技术团队、专职工程师7X24小时维护!
回复 支持 反对

使用道具 举报

筱竹听雨 发表于 2020-4-19 23:51:48 | 显示全部楼层
这个可以回,这个真得回!; a+ z& C( Z+ K' ^. w  l6 B

$ H$ n* a) N) H4 M, n! o8 d8 F: Y4 {* ?: k4 h; P

1 J- L. T4 C' G
; g  O" g+ G9 p2 V! F& t9 ?+ A7 M$ w* x" D6 }

7 u  z, F' w9 g+ h) z5 \7 s' s! z9 u- o8 J
7 r5 Y% N& J0 Y/ s( J
2 ]& V2 U" u5 O! c, b: X" Z3 u

. `3 _* e- w* P$ _7 I6 `) p$ D4 B, p% B' o# j
% u; b) t$ T+ T5 U
                               
登录/注册后可看大图
0 R& _# T* X7 }5 e" V
视频制作公司 视频剪辑 www.k1518.com 制作视频 宣传片制作 视频制作 www.800181.com 视频制作公司
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|易采站长站 ( 蒙ICP备14002389-1号 ) |

GMT+8, 2020-6-2 05:32

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表