官方压测工具mysqlslap介绍及使用
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,mysqlslap是官方的一款做压力测试的工具,可以模拟多个客户端进行并发测试。比如可以模拟多少并发,执行多少次,针对某个存储引擎……等等比如对myisam引擎做并发量为100,查询次数为1000--
千家信息网最后更新 2025年11月07日官方压测工具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安全错误
数据库的锁怎样保障安全
施乐700服务器怎么关机
南京跑火网络技术有限公司
服务器管理的品牌
泗阳大型网络技术厂家价格
快门科技网络技术有限公司
河南国产服务器哪个好
北方工业大学网络安全
网关服务器地址
网络安全教育3a纸海报
公安内部网络安全简报
专科计算机网络技术没学好
imc网管服务器
电子商务站有几台服务器
手机可以管理服务器吗
小康数据库辽宁
中国网络安全发展中心
微信小程序数据库删除操作
郑州网络安全待遇
贵州语音网络技术服务市场价
中国电信都有哪些服务器
桂阳安卓软件开发培训哪家好
高性能的GPU云服务器
镇江云主机服务器安装
html导出数据库图片路径
平台企业网络安全
csec 网络安全
游戏机连接不上服务器
上海网络安全事件预案
上海浦发银行软件开发基地
互联网服务器业务推荐