您的位置:首页 > 数据库 > MySQL

MySQL基准测试工具-mysqlslap 推荐

2013-07-15 13:44 337 查看
mysqlslap是MySQL5.1之后自带的benchmark基准测试工具,该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较。
使用方式:
--concurrency 并发数量 (可逗号隔开),例如:concurrency=10,50,100 并发连接线程数是10,50,100
--engines 要测试的存储引擎,逗号隔开
--iterations 运行多少次后,得到结果;
--auto-generate-sql 自动生成SQL脚本来测试;
--auto-generate-sql-load-type 测试类型是read还是write,还是mixed;(可以使用--only-print 查看到底是哪些SQL语句)
--number-of-queries 执行查询的次数,
--debug-info 输出CPU、内存等系统相关信息
--number-int-cols 测试表int字段类型的数量;
--auto-generate-sql-add-autoincrement 对生成的测试表 自动生成含有auto_increment属性的列;
--number-char-cols 测试表的char类型字段的数量;
--create-schema = db 创建测试的数据库;
--query 使用自定义脚本进行测试, 可以是一个存储过程或者SQL语句来执行;
--only-print 只打印测试过程中涉及到的SQL语句,不真正的执行;
举例:
测试200个并发写入性能,测试20次,自动生成SQL脚本,测试表包含35个int字段,20个char字段,测试引擎分别为innodb,myisam;每次执行3000个query;

./bin/mysqlslap --socket=/usr/local/mysql/mysql.sock --port=3306 --concurrency=200  --iterations=20 --auto-generate-sql --auto-generate-sql-load-type=write  --auto-generate-sql-add-autoincrement --number-int-cols=35 --number-char-cols=20  --engine=innodb,myisam   --create-schema=sysbench  --number-of-queries=3000 --debug-info


结果为:

Benchmark
Running for engine innodb
Average number of seconds to run all queries: 6.385 seconds
Minimum number of seconds to run all queries: 3.021 seconds
Maximum number of seconds to run all queries: 12.969 seconds
Number of clients running queries: 200
Average number of queries per client: 15
Benchmark
Running for engine myisam
Average number of seconds to run all queries: 0.621 seconds
Minimum number of seconds to run all queries: 0.442 seconds
Maximum number of seconds to run all queries: 1.134 seconds
Number of clients running queries: 200
Average number of queries per client: 15
User time 0.66, System time 1.97
Maximum resident set size 10060, Integral resident set size 0
Non-physical pagefaults 50486, Physical pagefaults 5, Swaps 0
Blocks in 584 out 96, Messages in 0 out 0, Signals 0
Voluntary context switches 298373, Involuntary context switches 1469


自定义SQL测试脚本:

mysqlslap --create=/yourpath/test.sql --query=/yourpath/test1.sql --concurrency=50,100,200 --iterations=20 --engine=myisam,innodb
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysqlslap mysql测试