高性能mysql笔记(三)mysqlslap性能测试

mysqlslap 可以用于模拟服务器的负载,并输出计时信息。测试时,可以指定并发连接数,可以指定 SQL 语句。如果没有指定 SQL 语句,mysqlslap 会自动生成查询 schema 的 SELECT 语句。

1.测试

    mysqlslap --help

如果是报错

mysqlslap: unknown variable 'default-character-set=utf8'

请修改 my.cnf ,把下面这行注释掉

 #default-character-set=utf8

a.模拟并发处理查询请求:

mysqlslap -a -uroot -p -c 20 --number-of-queries=100
Enter password: 
Benchmark
    Average number of seconds to run all queries: 0.051 seconds
    Minimum number of seconds to run all queries: 0.051 seconds
    Maximum number of seconds to run all queries: 0.051 seconds
    Number of clients running queries: 20
    Average number of queries per client: 5

b. 提供你自己的创建 SQL 语句和查询 SQL 语句,有 50 个客户端查询,每个查询 200 次(在单行上输入命令)

mysqlslap --delimiter=";" --create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)" --query="SELECT * FROM a" --concurrency=50 
--iterations=200 -uroot -p

输出:

Benchmark
    Average number of seconds to run all queries: 0.011 seconds
    Minimum number of seconds to run all queries: 0.010 seconds
    Maximum number of seconds to run all queries: 0.015 seconds
    Number of clients running queries: 50
    Average number of queries per client: 1

c.可以创建两个文件来保存sql

ll | grep .sql
-rw-rw-r--  1 wgy  wgy     50 May 21 19:34 create.sql
-rw-rw-r--  1 wgy  wgy     17 May 21 19:33 query.sql

然后执行:

mysqlslap --concurrency=5 --iterations=5 -uroot -p  --query=query.sql --create=create.sql --delimiter=";"
Enter password: 
Benchmark
    Average number of seconds to run all queries: 0.000 seconds
    Minimum number of seconds to run all queries: 0.000 seconds
    Maximum number of seconds to run all queries: 0.001 seconds
    Number of clients running queries: 5
    Average number of queries per client: 1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章