评论

收藏

[MySQL] MySQL基准测试工具-mysqlslap

数据库 数据库 发布于:2021-07-04 11:57 | 阅读数:309 | 评论:0

  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
  


  
关注下面的标签,发现更多相似文章