mysqlslap是一个官方自带的压测工具。
    使用方法:

    1. shell> mysqlslap [option]

    注意事项:
    1/某些参数,例如—create或者—query允许指定一个sql语句或者在文件中指定一个sql语句,如果使用了文件,每行只能有一条sql语句。默认的语句分隔符是newline。
    2/使用—delimiter选项来指定不同的分隔符。可以在命令行中使用,但是不能在文件中使用。
    3/ 并发查询的数量受max_connections的影响

    例子:
    创建一张表,然后往里面插入一行数据,模拟50个客户端执行200次次查询。

    [root@231 log]# mysqlslap --delimiter=";" 
                    --create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)" 
                    --query="SELECT * FROM a" --concurrency=50 --iterations=200
    
    Benchmark
            Average number of seconds to run all queries: 0.024 seconds
            Minimum number of seconds to run all queries: 0.020 seconds
            Maximum number of seconds to run all queries: 0.221 seconds
            Number of clients running queries: 50
            Average number of queries per client: 1
    

    指定文件查询sql,创建表的sql

    mysqlslap --concurrency=5
      --iterations=5 --query=query.sql --create=create.sql
      --delimiter=";"
    

    常用的选项:(详细的选项请查询官方文档:https://dev.mysql.com/doc/refman/5.7/en/mysqlslap.html)
    —auto-generate-sql :当没有指定sql语句时自动生成sql语句
    —auto-generate-sql-add-autoincrement :增加自增列到自动生成的表中
    —auto-generate-sql-execute-number :指定自动生成的语句中有多少个查询
    —auto-generate-sql-secondary-indexes :指定自动生成的语句中有多少个二级索引
    —atuo-generate-sql-unique-query-number :指定自动生成的语句产生多少个不同的查询语句
    —compress : 在客户端与服务器端传输时压缩所有的数据
    —create :后面接语句或者.sql文件,用来创建表
    —delimiter : 指定分隔符
    —concurrency=N,-c N: 指定多少个客户端并发执行
    —engine=innodb,Myisam :指定存储引擎
    —iterations=N :指定运行多少次
    —no-drop : 在性能测试后不删除创建的对象