数据库基准测试:database bencnmark --生成大量随机测试数据

先说一下,我也不懂怎么做数据库的基准测试或者说压力测试(Stress test),下面都是我个人的经验之谈。

随机数据的生成我使用Python完成,这样就有普遍性,因为大部分数据库都有Python接口。
快速生成随机数看这篇博客:Python 超快生成大量随机数的方法
随机字符串的生成参考这个问答:python - Random string generation with upper case letters and digits - Stack Overflow

我花了一晚上时间生成了800亿行数据,其中一行有2个uint32类型,1个uint8,一个uint16,共4个随机数,以及一个随机的时间。

少量随机数据可以到网上在线生成,比如说:


说明一下,我找到了一个工具:STSSoft/DatabaseBenchmark: Database Benchmark is one of the most powerfull open source tools designed to stress test databases with large data flows.
支持MySQL,MongoDB等多种数据库,但是不支持ClickHouse。


随后就是测试了,
先测最简单的select count语句,随着数据量的增加,时间消耗肯定会变大,最好以图的形式展示结果:

然后测 select group by 语句。

再测一下join语句,数据量从100万到1000万,1亿,逐步增加,看花费的时间跟CPU变化。

最后测一下多线程查询对查询时间的影响。


2019-8-21:看到一篇不错的文章:MySQL 快速创建千万级测试数据

评论 2 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页

打赏作者

淡竹云开

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值