一、背景
这几天对所有的基础组件做一个摸底的基准压力测试,目前我们所有的开源基础组件都没有做过性能测试,经常有开发人员问,我们的RDS、MongoDB集群能抗多大量呀,这个时候我是没办法回复的,因为我自己也不知道,虽然一个数据库集群能抗多大量,在软件、硬件配置固定的情况下,和业务场景有很大的关系,如果数据量小,查询SQL简单那吞吐量自然很高,如果数据量特别大并且都是复杂SQL,那吞吐量自然上不去;但是既然人家问了,肯定是希望有一个答案,如果你说不知道,那会给人一种不靠谱的感觉,所以做一次基准压力测试,我们知道在特定的场景下我们的集群能有多大的吞吐量,做到自己心里有数,才给别人信心。这周在压测MongoDB,谷歌了一番,MongoDB的压测工具很少,有几篇是介绍通过YCSB压测MongoDB的,找丹姐(逻辑思维首席DBA)推荐一款MongoDB的压测工具,丹姐也推荐YCSB,好吧,那就它吧,开整。
二、环境说明
1、MongoDB集群配置(一个分片的shard集群)
2、MongoDB版本
4.0.4-62-g7e345a7
4、系统及内核版本
CentOS Linux release 7.5.1804 (Core)
3.10.0-862.14.4.el7.x86_64
3、YCSB版本
YCSB-0.16.0-RC1.
4、测试说明
三、安装
1、jdk及maven安装参考官方
https://github.com/brianfrankcooper/YCSB/tree/master/mongodb