官方压测工具mysqlslap介绍及使用
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,mysqlslap是官方的一款做压力测试的工具,可以模拟多个客户端进行并发测试。比如可以模拟多少并发,执行多少次,针对某个存储引擎……等等比如对myisam引擎做并发量为100,查询次数为1000--
千家信息网最后更新 2026年11月01日官方压测工具mysqlslap介绍及使用mysqlslap是官方的一款做压力测试的工具,可以模拟多个客户端进行并发测试。
比如可以模拟多少并发,执行多少次,针对某个存储引擎……等等
比如对myisam引擎做并发量为100,查询次数为1000
--concurrency用于指定并发量,--number-of-queries=1000用于指定查询次数,--engine用于指定存储引擎
-a则是自动生成SQL(当未提供file或command时)
当然可以做迭代,在一次测试中输出:
其中--concurrency可以写作--concurrency=128,256,512诸如此类,而--engine也可以迭代写作--engine=innodb,myisam,memory等。
比如:
多加了的--debug-info参数可以使测试结果变得更加详尽。
即平均一个client的查询 = 总查询 ÷ 并发
另外--auto-general-sql-load-type这个参数也可以选填,默认为mixed。
其他可选项为:update、write、key、read。
附录:
mysqlslap option:
mysqlslap的缺点还是挺明显的,比如,不可以设置持续时间,比如24小时,表的数目不能指定等。
其最明显的优点是可以对不同的存储引擎做出对比。
作者公众号(持续更新)
比如可以模拟多少并发,执行多少次,针对某个存储引擎……等等
比如对myisam引擎做并发量为100,查询次数为1000
--concurrency用于指定并发量,--number-of-queries=1000用于指定查询次数,--engine用于指定存储引擎
-a则是自动生成SQL(当未提供file或command时)
- [op@sAno1y ~]$ mysqlslap -a --concurrency=100 --number-of-queries=1000 --engine=myisam -uroot -proot
- 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.167 seconds
- Minimum number of seconds to run all queries: 0.167 seconds
- Maximum number of seconds to run all queries: 0.167 seconds
- Number of clients running queries: 100
- Average number of queries per client: 10
- Benchmark
- Running for engine myisam
- Average number of seconds to run all queries: 0.170 seconds
- Minimum number of seconds to run all queries: 0.170 seconds
- Maximum number of seconds to run all queries: 0.170 seconds
- Number of clients running queries: 200
- Average number of queries per client: 5
当然可以做迭代,在一次测试中输出:
其中--concurrency可以写作--concurrency=128,256,512诸如此类,而--engine也可以迭代写作--engine=innodb,myisam,memory等。
比如:
多加了的--debug-info参数可以使测试结果变得更加详尽。
- [op@sAno1y ~]$ mysqlslap -a --concurrency=100,200 --iterations=1 --number-of-queries=1000 --engine=myisam,innodb,memory --debug-info -uroot -proot
- 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.160 seconds
- Minimum number of seconds to run all queries: 0.160 seconds
- Maximum number of seconds to run all queries: 0.160 seconds
- Number of clients running queries: 100
- Average number of queries per client: 10
- Benchmark
- Running for engine myisam
- Average number of seconds to run all queries: 0.164 seconds
- Minimum number of seconds to run all queries: 0.164 seconds
- Maximum number of seconds to run all queries: 0.164 seconds
- Number of clients running queries: 200
- Average number of queries per client: 5
- Benchmark
- Running for engine innodb
- Average number of seconds to run all queries: 0.787 seconds
- Minimum number of seconds to run all queries: 0.787 seconds
- Maximum number of seconds to run all queries: 0.787 seconds
- Number of clients running queries: 100
- Average number of queries per client: 10
- Benchmark
- Running for engine innodb
- Average number of seconds to run all queries: 1.154 seconds
- Minimum number of seconds to run all queries: 1.154 seconds
- Maximum number of seconds to run all queries: 1.154 seconds
- Number of clients running queries: 200
- Average number of queries per client: 5
- Benchmark
- Running for engine memory
- Average number of seconds to run all queries: 0.140 seconds
- Minimum number of seconds to run all queries: 0.140 seconds
- Maximum number of seconds to run all queries: 0.140 seconds
- Number of clients running queries: 100
- Average number of queries per client: 10
- Benchmark
- Running for engine memory
- Average number of seconds to run all queries: 0.159 seconds
- Minimum number of seconds to run all queries: 0.159 seconds
- Maximum number of seconds to run all queries: 0.159 seconds
- Number of clients running queries: 200
- Average number of queries per client: 5
- User time 0.23, System time 0.25
- Maximum resident set size 12788, Integral resident set size 0
- Non-physical pagefaults 11916, Physical pagefaults 0, Swaps 0
- Blocks in 0 out 0, Messages in 0 out 0, Signals 0
- Voluntary context switches 25055, Involuntary context switches 99
即平均一个client的查询 = 总查询 ÷ 并发
另外--auto-general-sql-load-type这个参数也可以选填,默认为mixed。
其他可选项为:update、write、key、read。
附录:
mysqlslap option:
- mysqlslap Ver 1.0 Distrib 5.6.26, for Linux (x86_64)
- Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
- Oracle is a registered trademark of Oracle Corporation and/or its
- affiliates. Other names may be trademarks of their respective
- owners.
- Run a query multiple times against the server.
- Usage: mysqlslap [OPTIONS]
- Default options are read from the following files in the given order:
- /etc/my.cnf /etc/mysql/my.cnf /home/op/softwares/mysql/etc/my.cnf ~/.my.cnf
- The following groups are read: mysqlslap client
- The following options may be given as the first argument:
- --print-defaults Print the program argument list and exit.
- --no-defaults Don't read default options from any option file,
- except for login file.
- --defaults-file=# Only read default options from the given file #.
- --defaults-extra-file=# Read this file after the global files are read.
- --defaults-group-suffix=#
- Also read groups with concat(group, suffix)
- --login-path=# Read this path from the login file.
- -?, --help Display this help and exit.
- -a, --auto-generate-sql
- Generate SQL where not supplied by file or command line.
- --auto-generate-sql-add-autoincrement
- Add an AUTO_INCREMENT column to auto-generated tables.
- --auto-generate-sql-execute-number=#
- Set this number to generate a set number of queries to
- run.
- --auto-generate-sql-guid-primary
- Add GUID based primary keys to auto-generated tables.
- --auto-generate-sql-load-type=name
- Specify test load type: mixed, update, write, key, or
- read; default is mixed.
- --auto-generate-sql-secondary-indexes=#
- Number of secondary indexes to add to auto-generated
- tables.
- --auto-generate-sql-unique-query-number=#
- Number of unique queries to generate for automatic tests.
- --auto-generate-sql-unique-write-number=#
- Number of unique queries to generate for
- auto-generate-sql-write-number.
- --auto-generate-sql-write-number=#
- Number of row inserts to perform for each thread (default
- is 100).
- --commit=# Commit records every X number of statements.
- -C, --compress Use compression in server/client protocol.
- -c, --concurrency=name
- Number of clients to simulate for query to run.
- --create=name File or string to use create tables.
- --create-schema=name
- Schema to run tests in.
- --csv[=name] Generate CSV output to named file or to stdout if no file
- is named.
- -#, --debug[=#] This is a non-debug version. Catch this and exit.
- --debug-check Check memory and open file usage at exit.
- -T, --debug-info Print some debug info at exit.
- --default-auth=name Default authentication client-side plugin to use.
- -F, --delimiter=name
- Delimiter to use in SQL statements supplied in file or
- command line.
- --detach=# Detach (close and reopen) connections after X number of
- requests.
- --enable-cleartext-plugin
- Enable/disable the clear text authentication plugin.
- -e, --engine=name Storage engine to use for creating the table.
- -h, --host=name Connect to host.
- -i, --iterations=# Number of times to run the tests.
- --no-drop Do not drop the schema after the test.
- -x, --number-char-cols=name
- Number of VARCHAR columns to create in table if
- specifying --auto-generate-sql.
- -y, --number-int-cols=name
- Number of INT columns to create in table if specifying
- --auto-generate-sql.
- --number-of-queries=#
- Limit each client to this number of queries (this is not
- exact).
- --only-print Do not connect to the databases, but instead print out
- what would have been done.
- -p, --password[=name]
- Password to use when connecting to server. If password is
- not given it's asked from the tty.
- --plugin-dir=name Directory for client-side plugins.
- -P, --port=# Port number to use for connection.
- --post-query=name Query to run or file containing query to execute after
- tests have completed.
- --post-system=name system() string to execute after tests have completed.
- --pre-query=name Query to run or file containing query to execute before
- running tests.
- --pre-system=name system() string to execute before running tests.
- --protocol=name The protocol to use for connection (tcp, socket, pipe,
- memory).
- -q, --query=name Query to run or file containing query to run.
- --secure-auth Refuse client connecting to server if it uses old
- (pre-4.1.1) protocol.
- (Defaults to on; use --skip-secure-auth to disable.)
- -s, --silent Run program in silent mode - no output.
- -S, --socket=name The socket file to use for connection.
- --ssl Enable SSL for connection (automatically enabled with
- other flags).
- --ssl-ca=name CA file in PEM format (check OpenSSL docs, implies
- --ssl).
- --ssl-capath=name CA directory (check OpenSSL docs, implies --ssl).
- --ssl-cert=name X509 cert in PEM format (implies --ssl).
- --ssl-cipher=name SSL cipher to use (implies --ssl).
- --ssl-key=name X509 key in PEM format (implies --ssl).
- --ssl-crl=name Certificate revocation list (implies --ssl).
- --ssl-crlpath=name Certificate revocation list path (implies --ssl).
- --ssl-verify-server-cert
- Verify server's "Common Name" in its cert against
- hostname used when connecting. This option is disabled by
- default.
- -u, --user=name User for login if not current user.
- -v, --verbose More verbose output; you can use this multiple times to
- get even more verbose output.
- -V, --version Output version information and exit.
mysqlslap的缺点还是挺明显的,比如,不可以设置持续时间,比如24小时,表的数目不能指定等。
其最明显的优点是可以对不同的存储引擎做出对比。
作者公众号(持续更新)
引擎
查询
测试
存储
明显
参数
次数
迭代
官方
工具
不同
详尽
诸如此类
优点
作者
公众
压力
可以使
多个
客户
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技图片
河南真二互联网科技有限公司
金融科技创新监管互联网金融
礼当家互联网科技
成都互联网科技公司
奇士达互联网科技
大白互联网科技
卓越科技互联网 招聘
联恩商钥互联网科技有限公司
互联网公司会议桌创意科技软装饰
深圳前海聚择互联网科技有限公司
湖南诚度互联网科技有限公司
互联网和黑科技的看法
华夏互联网科技业
广州新华互联网科技学校电竞方面
互联网科技的全部知识
每天都有哪些好的互联网科技
南通创西澳互联网科技有限公司
互联网相关科技技术
互联网科技快速发展优美句子
致骋互联网科技
丰台科技园 互联网
互联网科技宣传片
江苏南京365互联网科技
玉溪互联网科技怎么选
互联网科技大奖都有哪些公司
乌苏新华互联网科技做什么的
浙南科技城互联网大厦建设工程
皮皮虾互联网科技有限公司
上海乐五互联网科技有限公司