数据库基准测试: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 快速创建千万级测试数据

发布了502 篇原创文章 · 获赞 145 · 访问量 48万+

猜你喜欢

转载自blog.csdn.net/zhangpeterx/article/details/96741226