数据填充工具
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