10、MySQL 8.0参考手册 4.5.9 mysqlslap - 加载仿真客户端
2018-03-23 09:17
417 查看
mysqlslap是一个诊断程序,旨在模拟MySQL服务器的客户端负载并报告每个阶段的时间。它就像多个客户端正在访问服务器一样工作。像这样 调用mysqlslap:
运行负载测试。这个阶段可以使用许多客户端连接。
清理(如果指定,断开连接,删除表)。该阶段使用单个客户端连接。
例子:提供自己的创建和查询SQL语句,每个客户端可以查询50个客户端和200个客户端(在一行中输入命令):
shell> mysqlslap [options]一些选项,例如
--create或
--query使您能够指定包含SQL语句或包含语句的文件的字符串。如果您指定了一个文件,默认情况下它必须每行包含一条语句。(也就是说,隐式语句分隔符是换行符。)使用该
--delimiter选项指定不同的分隔符,这使您可以指定跨多行的语句或将多个语句放在一行中。您不能在文件中包含评论; mysqlslap不理解他们。mysqlslap运行分三个阶段:创建模式,表格以及可选的任何存储程序或数据以用于测试。该阶段使用单个客户端连接。
运行负载测试。这个阶段可以使用许多客户端连接。
清理(如果指定,断开连接,删除表)。该阶段使用单个客户端连接。
例子:提供自己的创建和查询SQL语句,每个客户端可以查询50个客户端和200个客户端(在一行中输入命令):
mysqlslap --delimiter=";" --create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)" --query="SELECT * FROM a" --concurrency=50 --iterations=200让mysqlslap使用两
INT列和三
VARCHAR列的表构建查询SQL语句。使用五个客户端,每个查询20次。不要创建表或插入数据(即使用先前测试的模式和数据):
mysqlslap --concurrency=5 --iterations=20 --number-int-cols=2 --number-char-cols=3 --auto-generate-sql通知程序从指定文件加载创建,插入和查询SQL语句,其中
create.sql文件具有多个由
';'多个插入语句分隔的表创建语句和多个插入语句
';'。该
--query文件将由多个查询分隔
';'。运行所有加载语句,然后使用五个客户端(每个五次)在查询文件中运行所有查询:
mysqlslap --concurrency=5 --iterations=5 --query=query.sql --create=create.sql --delimiter=";"mysqlslap支持下面的选项,可以在命令行或在指定
[mysqlslap]与
[client]一个选项文件的组。有关MySQL程序使用的选项文件的信息,请参见第4.2.6节“使用选项文件”。表4.16 mysqlslap选项
格式 | 描述 | 介绍 | 删除 |
---|---|---|---|
--auto-产生-SQL | 如果没有在文件中提供或使用命令选项,则会自动生成SQL语句 | ||
--auto-产生-SQL插件自动增量 | 将AUTO_INCREMENT列添加到自动生成的表格 | ||
--auto-生成-SQL执行数 | 指定自动生成多少个查询 | ||
--auto-生成-SQL-GUID-主 | 将基于GUID的主键添加到自动生成的表中 | ||
--auto-生成-SQL负载型 | 指定测试负载类型 | ||
--auto-生成-SQL二次索引 | 指定添加到自动生成的表格的次数索引 | ||
--auto-产生-SQL唯一查询号码 | 为自动测试生成多少个不同的查询。 | ||
--auto-产生-SQL唯一写入数 | 为--auto-generate-sql-write-number生成多少个不同的查询 | ||
--auto-产生-SQL写号 | 在每个线程上执行多少行插入 | ||
- 承诺 | 在提交之前要执行多少个语句。 | ||
- 压缩 | 压缩客户端和服务器之间发送的所有信息 | ||
--concurrency | 发出SELECT语句时要模拟的客户端数量 | ||
- 创建 | 包含用于创建表的语句的文件或字符串 | ||
--create-模式 | 运行测试的模式 | ||
--csv | 以逗号分隔值格式生成输出 | ||
--debug | 编写调试日志 | ||
--debug检查 | 程序退出时打印调试信息 | ||
- 调试信息 | 打印程序退出时的调试信息,内存和CPU统计信息 | ||
--default-AUTH | 身份验证插件使用 | ||
--defaults-额外文件 | 除了通常的选项文件外,还可以读取已命名的选项 | ||
--defaults文件 | 只读取命名的选项文件 | ||
--defaults基团的后缀 | 选项组后缀值 | ||
对齐和美化--delimiter | 在SQL语句中使用分隔符 | ||
- 分离 | 在每个N语句后分离(关闭并重新打开)每个连接 | ||
--enable-明文-插件 | 启用明文身份验证插件 | ||
- 发动机 | 用于创建表的存储引擎 | ||
--get-服务器的公钥 | 从服务器请求RSA公钥 | 8.0.3 | |
- 帮帮我 | 显示帮助信息并退出 | ||
- 主办 | 连接到给定主机上的MySQL服务器 | ||
--iterations | 运行测试的次数 | ||
--login路径 | 阅读.mylogin.cnf中的登录路径选项 | ||
--no-默认 | 不读取任何选项文件 | ||
- 没有下降 | 不要删除在测试运行期间创建的任何模式 | ||
--number-char型的cols | 指定了--auto-generate-sql时要使用的VARCHAR列的数量 | ||
--number-INT-的cols | 指定了--auto-generate-sql时要使用的INT列数 | ||
--number-的查询 | 将每个客户端限制为大约这个数量的查询 | ||
--only打印 | 不要连接到数据库。mysqlslap只打印它会做的事情 | ||
- 密码 | 连接到服务器时使用的密码 | ||
- 管 | 在Windows上,使用命名管道连接到服务器 | ||
--plugin-DIR | 安装插件的目录 | ||
- 港口 | 用于连接的TCP / IP端口号 | ||
--post查询 | 包含要在测试完成后执行的语句的文件或字符串 | ||
--post系统 | 测试完成后使用system()执行的字符串 | ||
- 事先查询 | 包含要在运行测试之前执行的语句的文件或字符串 | ||
- 事先系统 | 在运行测试之前使用system()执行的字符串 | ||
--print-默认 | 打印默认选项 | ||
- 协议 | 使用连接协议 | ||
--query | 包含用于检索数据的SELECT语句的文件或字符串 | ||
--secure-auth的 | 不要以旧(4.1以前)格式向服务器发送密码 | 8.0.3 | |
--server-公钥路径 | 包含RSA公钥的文件的路径名称 | 8.0.4 | |
--shared存储器碱基名 | 用于共享内存连接的共享内存的名称 | ||
- 无声 | 静音模式 | ||
- 插座 | 用于连接到localhost,要使用的Unix套接字文件 | ||
--sql模式 | 为客户端会话设置SQL模式 | ||
--ssl-CA | 包含可信SSL证书颁发机构列表的文件 | ||
--ssl-capath | 包含可信SSL证书颁发机构证书文件的目录 | ||
--ssl证书 | 包含X509证书的文件 | ||
--ssl-密码 | 允许连接加密的密码列表 | ||
--ssl-CRL | 包含证书吊销列表的文件 | ||
--ssl-crlpath | 包含证书撤销列表文件的目录 | ||
--ssl键 | 包含X509密钥的文件 | ||
--ssl模式 | 连接到服务器的安全状态 | ||
--tls版本 | 允许加密连接的协议 | ||
- 用户 | 连接到服务器时使用的MySQL用户名 | ||
--verbose | 详细模式 | ||
- 版 | 显示版本信息并退出 |
--help,
-?显示帮助信息并退出。
--auto-generate-sql,
-a如果没有在文件中提供或使用命令选项,则会自动生成SQL语句。
--auto-generate-sql-add-autoincrement添加一
AUTO_INCREMENT列到自动生成的表格。
--auto-generate-sql-execute-number=N
指定自动生成多少个查询。--auto-generate-sql-guid-primary将基于GUID的主键添加到自动生成的表中。
--auto-generate-sql-load-type=type
指定测试负载类型。允许值为 read(扫描表),
write(插入表格),
key(读取主键),
update(更新主键)或
mixed(半插入,半扫描选择)。默认是
mixed。
--auto-generate-sql-secondary-indexes=N
指定添加到自动生成的表格的次数索引。默认情况下,没有添加。--auto-generate-sql-unique-query-number=N
为自动测试生成多少个不同的查询。例如,如果您运行key执行1000次选择的测试,则可以使用此值为1000的选项运行1000个唯一查询,或者使用值为50来执行50个不同的选择。默认值是10。
--auto-generate-sql-unique-write-number=N
生成多少个不同的查询 --auto-generate-sql-write-number。默认值是10。
--auto-generate-sql-write-number=N
要执行多少行插入。默认值是100。--commit=N
在提交之前要执行多少个语句。缺省值是0(不提交)。--compress,
-C压缩客户端和服务器之间发送的所有信息(如果两者均支持压缩)。
--concurrency=N
, -c N
要模拟的并行客户端的数量。--create=value
包含用于创建表的语句的文件或字符串。--create-schema=value
运行测试的模式。注意如果--auto-generate-sql还提供了该 选项,则mysqlslap会在测试运行结束时删除该模式。为了避免这种情况,请使用该
--no-drop选项。
--csv[=file_name
]以逗号分隔值格式生成输出。输出到指定的文件,或者如果没有给出文件,则输出到标准输出。--debug[=debug_options
], -# [debug_options
]编写一个调试日志。一个典型的 debug_options字符串是 。默认是 。
d:t:o,file_name
d:t:o,/tmp/mysqlslap.trace
--debug-check程序退出时打印一些调试信息。
--debug-info,
-T在程序退出时打印调试信息和内存以及CPU使用情况统计信息。
--default-auth=plugin
关于使用客户端身份验证插件的提示。请参见第6.3.10节“可插入认证”。--defaults-extra-file=file_name
在全局选项文件之后读取此选项文件,但在用户选项文件之前(在Unix上)。如果文件不存在或无法访问,则会发生错误。 file_name如果作为相对路径名而非完整路径名给出,则相对于当前目录进行解释。
--defaults-file=file_name
只使用给定的选项文件。如果文件不存在或无法访问,则会发生错误。 file_name如果作为相对路径名而非完整路径名给出,则相对于当前目录进行解释。例外:即使
--defaults-file读取客户端程序
.mylogin.cnf。
--defaults-group-suffix=str
不仅要阅读常用选项组,还要阅读具有常用名称和后缀的组 str。例如, mysqlslap通常读取
[client]和
[mysqlslap]组。如果
--defaults-group-suffix=_other给出该选项,mysqlslap也读取
[client_other]和
[mysqlslap_other]组。
--delimiter=str
, -F str
在文件或使用命令选项中提供的SQL语句中使用的分隔符。--detach=N
在每个N语句后分离(关闭并重新打开)每个连接 。默认值为0(连接不分离)。
--enable-cleartext-plugin启用
mysql_clear_password明文身份验证插件。(请参见 第6.5.1.4节“客户端明文可插入验证”。)
--engine=engine_name
, -e engine_name
用于创建表的存储引擎。--get-server-public-key从服务器请求它用于基于密钥对的密码交换的RSA公钥。此选项适用于使用通过身份
caching_sha2_password验证插件进行身份验证的帐户连接到服务器的客户端 。对于通过这些帐户进行的连接,服务器不会将公钥发送给客户端,除非有请求。对于不使用该插件进行身份验证的帐户,该选项将被忽略。如果不需要基于RSA的密码交换,它也会被忽略,例如当客户端使用安全连接连接到服务器时。文章来源:北大青鸟学校开发小组如果 给出并指定了有效的公钥文件,则优先于 。
--server-public-key-path=file_name
--get-server-public-key有关该
caching_sha2_password插件的信息 ,请参见 第6.5.1.3节“缓存SHA-2可插入验证”。
--host=host_name
, -h host_name
连接到给定主机上的MySQL服务器。--iterations=N
, -i N
运行测试的次数。--login-path=name
从.mylogin.cnf登录路径文件中的指定登录路径读取选项 。阿 “ 登录路径 ”是含有指定要连接到哪个MySQL服务器和选项哪个帐户作为认证选项组。要创建或修改登录路径文件,请使用 mysql_config_editor实用程序。请参见 第4.6.7节“ mysql_config_editor - MySQL配置实用程序”。
--no-drop防止mysqlslap放弃在测试运行期间创建的任何模式。
--no-defaults不要阅读任何选项文件。如果由于从选项文件读取未知选项而导致程序启动失败,
--no-defaults可用于防止读取它们。例外是
.mylogin.cnf在任何情况下读取文件(如果存在)。这允许以比使用命令行更安全的方式来指定密码,即使在
--no-defaults使用时 也是如此。(
.mylogin.cnf由mysql_config_editor实用程序创建, 请参见 第4.6.7节“ mysql_config_editor - MySQL配置实用程序”。)
--number-char-cols=N
, -x N
指定VARCHAR要使用 的列 数
--auto-generate-sql。
--number-int-cols=N
, -y N
指定INT要使用 的列数
--auto-generate-sql。
--number-of-queries=N
限制每个客户端大约这么多查询。查询计数考虑到语句分隔符。例如,如果您按如下方式调用mysqlslap,;则会识别分隔符,以便查询字符串的每个实例都计为两个查询。结果,插入5行(不是10)。
shell> mysqlslap --delimiter=";" --number-of-queries=10 --query="use test;insert into t values(null)"
--only-print不要连接到数据库。mysqlslap 只打印它会做的事情。
--password[=password
], -p[password
]连接到服务器时使用的密码。如果使用short option form(-p), 则在选项和密码之间不能有空格。如果您省略命令行中
password的
--password或
-p选项后面的 值 ,mysqlslap会提示输入一个值。在命令行中指定密码应被视为不安全。请参见 第6.1.2.1节“密码安全的最终用户指南”。您可以使用选项文件来避免在命令行上输入密码。
--pipe,
-W在Windows上,使用命名管道连接到服务器。该选项仅适用于服务器支持命名管道连接的情况。
--plugin-dir=dir_name
在其中查找插件的目录。如果该--default-auth选项用于指定身份验证插件,但是 mysqlslap未找到该选项,请指定此选项 。请参见 第6.3.10节“可插入认证”。
--port=port_num
, -P port_num
用于连接的TCP / IP端口号。--post-query=value
包含要在测试完成后执行的语句的文件或字符串。该执行不计入计时目的。--post-system=str
system()测试完成后 要执行的字符串。该执行不计入计时目的。
--pre-query=value
包含要在运行测试之前执行的语句的文件或字符串。该执行不计入计时目的。--pre-system=str
system()在运行测试之前 要执行的字符串。该执行不计入计时目的。
--print-defaults打印程序名称以及从选项文件中获取的所有选项。
--protocol={TCP|SOCKET|PIPE|MEMORY}用于连接到服务器的连接协议。当其他连接参数通常会导致使用的协议不是您想要的协议时,这很有用。有关允许值的详细信息,请参见 第4.2.2节“连接到MySQL服务器”。
--query=value
, -q value
包含SELECT用于检索数据的语句的文件或字符串 。
--secure-auth这个选项在MySQL 8.0.3中被删除。
--server-public-key-path=file_name
包含客户端副本的文件的路径名,该副本是服务器为基于RSA密钥对的密码交换所需的。该文件必须采用PEM格式。该选项适用于使用sha256_password或
caching_sha2_password身份验证插件进行身份验证的客户端 。对于未使用其中一个插件进行身份验证的帐户,此选项将被忽略。如果不使用基于RSA的密码交换,它也会被忽略,例如当客户端使用安全连接连接到服务器时。如果 给出并指定了有效的公钥文件,则优先于 。
--server-public-key-path=file_name
--get-server-public-key因为
sha256_password,只有在使用OpenSSL构建MySQL时,此选项才适用。有关这些
sha256_password和
caching_sha2_password插件的信息,请参见 第6.5.1.2节“SHA-256可插入验证”和 第6.5.1.3节“缓存SHA-2可插入验证”。
--shared-memory-base-name=name
在Windows上使用共享内存名称,用于使用共享内存连接到本地服务器。该选项仅适用于服务器支持共享内存连接的情况。--silent,
-s静音模式。没有输出。
--socket=path
, -S path
连接到localhost要使用的Unix套接字文件,或在Windows上使用命名管道的名称。
--sql-mode=mode
设置客户端会话的SQL模式。--ssl*开头的选项
--ssl指定是否使用SSL连接到服务器,并指出在哪里可以找到SSL密钥和证书。请参见 第6.4.2节“加密连接的命令选项”。
--tls-version=protocol_list
客户端允许的加密连接协议。该值是一个包含一个或多个协议名称的逗号分隔列表。可以为这个选项命名的协议取决于用于编译MySQL的SSL库。有关详细信息,请参见 第6.4.6节“加密连接协议和密码”。--user=user_name
, -u user_name
连接到服务器时使用的MySQL用户名。--verbose,
-v详细模式。打印关于该程序的更多信息。该选项可以多次使用以增加信息量。
--version,
-V显示版本信息并退出。本文由学什么技术好网翻译
相关文章推荐
- 10、MySQL 8.0参考手册 mysql - MySQL命令行工具
- 10、MySQL 8.0参考手册 4.6.3 myisam_ftdump - 显示全文索引信息
- 10、MySQL 8.0参考手册 4.5.1.1 mysql选项
- 10、MySQL 8.0参考手册 4.5.7 mysqlsh - MySQL Shell
- 10、MySQL 8.0参考手册 4.5.1.2 mysql命令
- 10、MySQL 8.0参考手册 4.5.1.3 mysql日志记录
- 10、MySQL 8.0参考手册 4.5.1.4 mysql服务器端帮助
- 10、MySQL 8.0参考手册 4.5.3 mysqlcheck - 单个表维护程序
- 21,MySQL 8.0参考手册 4.7.1 mysql_config - 显示编译客户端的选项
- 10、MySQL 8.0参考手册 4.5.1.5从文本文件执行SQL语句
- 10、MySQL 8.0参考手册 4.5.1.6 mysql提示
- 10、MySQL 8.0参考手册 4.5.4 mysqldump - 数据库备份程序
- 10、MySQL 8.0参考手册 4.5.8 mysqlshow - 显示数据库,表和列信息
- 10、MySQL 8.0参考手册 4.5.5 mysqlimport - 数据导入程序
- 4、MySQL 8.0参考手册 连接到服务器并断开连接3.3.3将数据加载到表中
- 10、MySQL 8.0参考手册 4.6.2 innochecksum - 离线InnoDB文件校验和实用程序
- 5、MySQL 8.0参考手册 3.3.4.4排序行
- 19,MySQL 8.0参考手册 4.6.8.4指定mysqlbinlog服务器ID
- 25,MySQL 8.0参考手册 5.1.9.5从代理获取IPv6地址
- 11、MySQL 8.0参考手册 4.6.4 myisamchk - MyISAM表维护实用程序