Heim >Datenbank >MySQL-Tutorial > mysql性能测试工具之mysqlslap

mysql性能测试工具之mysqlslap

WBOY
WBOYOriginal
2016-06-07 16:48:22821Durchsuche

mysqlslap是mysql自带的基准测试工具,优点:查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提

    mysqlslap是mysql自带的基准测试工具,优点:查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较.msqlslap为mysql性能优化前后提供了直观的验证依据,建议系统运维和DBA人员应该掌握一些常见的压力测试工具,才能准确的掌握线上数据库支撑的用户流量上限及其抗压性等问题.

  • 工具详细参数

  • --help      显示帮助

    --concurrency      代表并发数量,多个可以用逗号隔开

    --engines             测试的引擎,多个用分隔符隔开

    --iterations           运行这些测试多少次

    --auto-generate-sql      系统自己生成的SQL脚本来测试

    --auto-generate-sql-load-type     测试的是读还是写还是两者混合的(read,write,update,mixed)

    --number-of-queries                   总共要运行多少次查询

    --debug-info                               额外输出CPU以及内存的相关信息

    --number-int-cols                       创建测试表的 int 型字段数量

    --auto-generate-sql-add-autoincrement        生成的表自动添加auto_increment列

    --number-char-cols                  测试表的 char 型字段数量

    --create-schema               测试的database

    --query                          用自定义脚本执行测试

    --only-print                            如果只想打印看看SQL语句是什么,以用这个选项

     

    2.测试实例(单个并发)

    [root@node2 bin]# ./mysqlslap -uroot -psystem --concurrency=100 --iterations=1 --auto-generate-sql --auto-generate-sql-load-type=mixed --auto-generate-sql-add-autoincrement --engine=myisam --number-of-queries=10 --debug-info
    Warning: Using a password on the command line interface can be insecure.
    Benchmark
     Running for engine myisam
     Average number of seconds to run all queries: 0.209 seconds
     Minimum number of seconds to run all queries: 0.209 seconds
     Maximum number of seconds to run all queries: 0.209 seconds
     Number of clients running queries: 100
     Average number of queries per client: 0


    User time 0.02, System time 0.09
    Maximum resident set size 4684, Integral resident set size 0
    Non-physical pagefaults 1476, Physical pagefaults 0, Swaps 0
    Blocks in 0 out 0, Messages in 0 out 0, Signals 0
    Voluntary context switches 2797, Involuntary context switches 25
    [root@node2 bin]#

    说明:测试100个并发线程,测试次数1次,自动生成SQL测试脚本,读,写,更新混合测试,自增长字段,测试引擎为myisam,共运行10次查询,输出cpu资源信息

     

    3.测试实例(多个并发)

    [root@node2 bin]# ./mysqlslap --concurrency=50,100,200 --iterations=20 --number-int-cols=4 --number-char-cols=35 --auto-generate-sql --auto-generate-sql-add-autoincrement --auto-generate-sql-load-type=read --engine=myisam,innodb --number-of-queries=200 --verbose --socket=/tmp/mysql.sock -uroot -psystem
    Warning: Using a password on the command line interface can be insecure.
    Benchmark
     Running for engine myisam
     Average number of seconds to run all queries: 0.758 seconds
     Minimum number of seconds to run all queries: 0.671 seconds
     Maximum number of seconds to run all queries: 0.870 seconds
     Number of clients running queries: 50
     Average number of queries per client: 4

    Benchmark
     Running for engine myisam
     Average number of seconds to run all queries: 0.840 seconds
     Minimum number of seconds to run all queries: 0.645 seconds
     Maximum number of seconds to run all queries: 1.117 seconds
     Number of clients running queries: 100
     Average number of queries per client: 2

    Benchmark
     Running for engine myisam
     Average number of seconds to run all queries: 0.959 seconds
     Minimum number of seconds to run all queries: 0.802 seconds
     Maximum number of seconds to run all queries: 1.192 seconds
     Number of clients running queries: 200
     Average number of queries per client: 1

    Benchmark
     Running for engine innodb
     Average number of seconds to run all queries: 0.701 seconds
     Minimum number of seconds to run all queries: 0.632 seconds
     Maximum number of seconds to run all queries: 0.778 seconds
     Number of clients running queries: 50
     Average number of queries per client: 4

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn