OLTP数据库压力测试

原创
2019/01/16 15:12
阅读数 458

数据填充工具

tpc-c数据填充

tpc-c是一个交易系统的模型,包括下单、付款、订单查询、发货、查询库存等五个逻辑。

涉及10个表(涉及变定长字符串、整型、浮点、高精度数值、时间、自增序列等类型)、数十个索引、以及数十个主外键约束。

涉及查询,更新,删除,插入等操作,涉及JOIN操作,涉及排序,COUNG,SUM,COUNT DISTINCT,max等聚合操作,涉及select for update操作,涉及多层子查询,等操作。

由于设计了主外键约束、以及并行的UPDATE操作,还会涉及到死锁的检测和回滚。

共计31条SQL。

 

具体工具采用:sysbench-tpcc

Spawner Data Generator

可视化操作, 使用起来比较简单、也比较稳定, 但内容较弱,由pascal语言编写。

 

压力测试工具

Mysqlslap

基本用法

mysqlslap --delimiter=";" --create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)" --query="SELECT * FROM a" --concurrency=50 --iterations=200

mysqlslap --conency=50,100,200,300 --iterations=1 --auto-generate-sql --auto-generate-sql-load-type=mixed --auto-generate-sql-add-autoincrement --engine=myisam,innodb,memory --number-of-queries=10 --debug-info

自定义脚本

mysqlslap --create=/root/Desktop/test.sql --query=/root/Desktop/test2.sql --concurrency=50,100,200 --iterations=20 --engine=myisam,innodb --socket=/usr/local/mysql1/var/mysql.sock -u root -p123

在现有数据库压测

mysqlslap -uroot -p123456 -h172.28.17.29 --concurrency=50 --iterations=10 --create-schema=userpoint --query="SELECT * FROM t_user_order_record;" --verbose

The MySQL Benchmark Suite

sysbench

sysbench-tpcc

 

mysql-tpcc

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部