马上又要进入周末了,勤劳的程序员们工作可以停,补充知识却不能停呀! Amy今天为大家介绍MySQLslap的相关内容,希望能够给大家带来帮助哦

1 . 简介

mysqlslap是一个诊断程序,旨在模拟MySQL服务器的客户端负载并报告每个阶段的时间。它等效为多个正在访问服务器的客户端。
shell> mysqlslap [options] #[mysqlslap]和[client]获取默认选项
某些选项,如–create、–query可赋值sql语句集的字符串或包含语句的文件(不能有注释)。
mysqlslap原理:
创立一个管理会话;
对于–iterations的每轮测试,使用管理会话构建环境,然后新建–concurrency个查询会话执行并行查询并关闭会话。
管理会话完成清理过程(如删除库等)并退出。

2 . 选项介绍与部分选项举例说明

#注意:这里的默认值,不是使用“程序名 --no-defaults --help”打印的输出,而是指未指定时内部初始值,该值可被自身选项显示指定,也可能会受其他互斥选项、相关选项更改。这里只写出默认启用的布尔型选项,以及有内部值的其他选项。有内部值的选项可以不显示给出。
2.1 所有客户端共有选项
2.1.1 影响选项文件读取的选项


2.1.2 帮助与版本

2.1.3 连接的建立

连接方式参数说明:优先级–protocol>–pipe>-h;
linux两种连接方式:若未指定–host和-h,或指定为localhost,或指定为空(–host=或–host=’’),则使用unix套接字;否则使用tcp/ip。
windows三种连接方式:若未指定–host和-h,或指定为localhost,且服务端开启了共享内存,则使用共享内存;若指定为.,或tcp禁用且socket未指定或主机指定为空(–host=),则使用命名管道;否则tcp。
连接方式举例
全平台使用tcp/ip:
mysql --protocol=tcp [-h127.0.0.1] [–port=3306]
mysql -h127.0.0.1 [–port=3306]

unix使用socket:
mysql [–host=localhost] [–socket=/tmp/mysql.sock]

windows使用命名管道:需在服务端开启命名管道支持
mysql --protocol=pipe
mysql --pipe
mysql --host=.

windows使用共享内存:未知,存在问题。理论上应当在服务上开启共享内存后使用
mysql [–host=localhost] --shared-memory-base-name=MYSQL,但是实际上使用的tcp,或者
mysql --protocol=memory --shared-memory-base-name=MYSQL,但是会报错ERROR 2046 (HY000): Can’t open shared memory; cannot send request event to server (5);

2.1.4 字符集

2.1.5 调试日志

2.2 mysqlslap特定选项

3 . 常见用法举例:省略连接选项

3.1 例子
mysqlslap --concurrency=2 --iterations=3 --delimiter=";" --query=“SELECT * FROM a” --create=“CREATE TABLE a (b int);INSERT INTO a VALUES (23)”
mysqlslap --concurrency=2 --iterations=3 --delimiter=";" --query=query.sql --create=create.sql
mysqlslap --concurrency=2 --iterations=3 --auto-generate-sql --number-int-cols=2 --number-char-cols=3
3.2 非自动参数全解
执行如下命令:两个线程共执行不超过17个语句,故每个线程执行8句。每个线程每3句提交一次。

mysqlslap --concurrency=2 --iterations=3 --number-of-queries=17 --commit=3 --detach=0 --sql-mode="" --create-schema=ztdslap --engine=myisam --pre-system="echo 1" --pre-query="select 2" --post-query="select 3" --post-system="echo 4" --delimiter=";" --query="SELECT * FROM a;select 0;" --create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)"
mysqlslap: [Warning] unknown variable 'loose-default-character-set=utf8'
1
4
1
4
1
4
BenchmarkRunning for engine myisamAverage number of seconds to run all queries: 0.000 secondsMinimum number of seconds to run all queries: 0.000 secondsMaximum number of seconds to run all queries: 0.000 secondsNumber of clients running queries: 2Average number of queries per client: 8

从一般日志可得到:可见语句执行逻辑符合简介中的原理及参数描述

2019-05-06T15:41:53.767498Z  20734 Connect   root@localhost on  using TCP/IP
2019-05-06T15:41:53.767590Z 20734 Query SET sql_mode = ``
2019-05-06T15:41:53.767654Z 20734 Query DROP SCHEMA IF EXISTS `ztdslap`
2019-05-06T15:41:53.770852Z 20734 Query CREATE SCHEMA `ztdslap`
2019-05-06T15:41:53.772732Z 20734 Init DB   ztdslap
2019-05-06T15:41:53.772802Z 20734 Query set default_storage_engine=`myisam`
2019-05-06T15:41:53.772898Z 20734 Query CREATE TABLE a (b int)
2019-05-06T15:41:53.776484Z 20734 Query INSERT INTO a VALUES (23)
2019-05-06T15:41:53.777824Z 20734 Query SET AUTOCOMMIT=0
2019-05-06T15:41:53.824804Z 20734 Query select 2
2019-05-06T15:41:53.828195Z 20735 Connect   root@localhost on ztdslap using TCP/IP
2019-05-06T15:41:53.828303Z 20735 Query SET AUTOCOMMIT=0
2019-05-06T15:41:53.828378Z 20735 Query SELECT * FROM a
2019-05-06T15:41:53.828640Z 20736 Connect   root@localhost on ztdslap using TCP/IP
2019-05-06T15:41:53.828938Z 20735 Query select 0
2019-05-06T15:41:53.828969Z 20736 Query SET AUTOCOMMIT=0
2019-05-06T15:41:53.829018Z 20735 Query SELECT * FROM a
2019-05-06T15:41:53.829058Z 20736 Query SELECT * FROM a
2019-05-06T15:41:53.829096Z 20735 Query COMMIT
2019-05-06T15:41:53.829142Z 20735 Query select 0
2019-05-06T15:41:53.829194Z 20735 Query SELECT * FROM a
2019-05-06T15:41:53.829266Z 20735 Query select 0
2019-05-06T15:41:53.829317Z 20735 Query COMMIT
2019-05-06T15:41:53.829363Z 20735 Query SELECT * FROM a
2019-05-06T15:41:53.829440Z 20735 Query select 0
2019-05-06T15:41:53.829493Z 20735 Query COMMIT
2019-05-06T15:41:53.829542Z 20736 Query select 0
2019-05-06T15:41:53.829543Z 20735 Quit
2019-05-06T15:41:53.829633Z 20736 Query SELECT * FROM a
2019-05-06T15:41:53.829720Z 20736 Query COMMIT
2019-05-06T15:41:53.829772Z 20736 Query select 0
2019-05-06T15:41:53.829835Z 20736 Query SELECT * FROM a
2019-05-06T15:41:53.829909Z 20736 Query select 0
2019-05-06T15:41:53.829962Z 20736 Query COMMIT
2019-05-06T15:41:53.830009Z 20736 Query SELECT * FROM a
2019-05-06T15:41:53.830159Z 20736 Query select 0
2019-05-06T15:41:53.830288Z 20736 Query COMMIT
2019-05-06T15:41:53.830377Z 20736 Quit
2019-05-06T15:41:53.830497Z 20734 Query select 3
2019-05-06T15:41:53.873822Z 20734 Query DROP SCHEMA IF EXISTS `ztdslap`
2019-05-06T15:41:53.878102Z 20734 Query CREATE SCHEMA `ztdslap`
2019-05-06T15:41:53.880087Z 20734 Init DB   ztdslap
2019-05-06T15:41:53.880232Z 20734 Query set default_storage_engine=`myisam`
2019-05-06T15:41:53.880332Z 20734 Query CREATE TABLE a (b int)
2019-05-06T15:41:53.884636Z 20734 Query INSERT INTO a VALUES (23)
2019-05-06T15:41:53.886295Z 20734 Query SET AUTOCOMMIT=0
2019-05-06T15:41:53.928081Z 20734 Query select 2
2019-05-06T15:41:53.931457Z 20737 Connect   root@localhost on ztdslap using TCP/IP
2019-05-06T15:41:53.931567Z 20737 Query SET AUTOCOMMIT=0
2019-05-06T15:41:53.931645Z 20737 Query SELECT * FROM a
2019-05-06T15:41:53.932219Z 20737 Query select 0
2019-05-06T15:41:53.932332Z 20737 Query SELECT * FROM a
2019-05-06T15:41:53.932446Z 20737 Query COMMIT
2019-05-06T15:41:53.932529Z 20737 Query select 0
2019-05-06T15:41:53.932621Z 20737 Query SELECT * FROM a
2019-05-06T15:41:53.932727Z 20737 Query select 0
2019-05-06T15:41:53.932790Z 20737 Query COMMIT
2019-05-06T15:41:53.932841Z 20737 Query SELECT * FROM a
2019-05-06T15:41:53.932912Z 20737 Query select 0
2019-05-06T15:41:53.932965Z 20737 Query COMMIT
2019-05-06T15:41:53.933007Z 20737 Quit
2019-05-06T15:41:53.933127Z 20738 Connect   root@localhost on ztdslap using TCP/IP
2019-05-06T15:41:53.933235Z 20738 Query SET AUTOCOMMIT=0
2019-05-06T15:41:53.933298Z 20738 Query SELECT * FROM a
2019-05-06T15:41:53.933960Z 20738 Query select 0
2019-05-06T15:41:53.934032Z 20738 Query SELECT * FROM a
2019-05-06T15:41:53.934110Z 20738 Query COMMIT
2019-05-06T15:41:53.934156Z 20738 Query select 0
2019-05-06T15:41:53.934213Z 20738 Query SELECT * FROM a
2019-05-06T15:41:53.934287Z 20738 Query select 0
2019-05-06T15:41:53.934336Z 20738 Query COMMIT
2019-05-06T15:41:53.934383Z 20738 Query SELECT * FROM a
2019-05-06T15:41:53.934448Z 20738 Query select 0
2019-05-06T15:41:53.934496Z 20738 Query COMMIT
2019-05-06T15:41:53.934529Z 20738 Quit
2019-05-06T15:41:53.934663Z 20734 Query select 3
2019-05-06T15:41:53.975801Z 20734 Query DROP SCHEMA IF EXISTS `ztdslap`
2019-05-06T15:41:53.979900Z 20734 Query CREATE SCHEMA `ztdslap`
2019-05-06T15:41:53.981880Z 20734 Init DB   ztdslap
2019-05-06T15:41:53.982004Z 20734 Query set default_storage_engine=`myisam`
2019-05-06T15:41:53.982100Z 20734 Query CREATE TABLE a (b int)
2019-05-06T15:41:53.986457Z 20734 Query INSERT INTO a VALUES (23)
2019-05-06T15:41:53.988017Z 20734 Query SET AUTOCOMMIT=0
2019-05-06T15:41:54.028634Z 20734 Query select 2
2019-05-06T15:41:54.031742Z 20739 Connect   root@localhost on ztdslap using TCP/IP
2019-05-06T15:41:54.031874Z 20739 Query SET AUTOCOMMIT=0
2019-05-06T15:41:54.031966Z 20739 Query SELECT * FROM a
2019-05-06T15:41:54.032543Z 20739 Query select 0
2019-05-06T15:41:54.032625Z 20739 Query SELECT * FROM a
2019-05-06T15:41:54.032718Z 20739 Query COMMIT
2019-05-06T15:41:54.032779Z 20739 Query select 0
2019-05-06T15:41:54.032858Z 20739 Query SELECT * FROM a
2019-05-06T15:41:54.032946Z 20739 Query select 0
2019-05-06T15:41:54.033009Z 20739 Query COMMIT
2019-05-06T15:41:54.033062Z 20739 Query SELECT * FROM a
2019-05-06T15:41:54.033142Z 20739 Query select 0
2019-05-06T15:41:54.033204Z 20739 Query COMMIT
2019-05-06T15:41:54.033244Z 20739 Quit
2019-05-06T15:41:54.033846Z 20740 Connect   root@localhost on ztdslap using TCP/IP
2019-05-06T15:41:54.033944Z 20740 Query SET AUTOCOMMIT=0
2019-05-06T15:41:54.034004Z 20740 Query SELECT * FROM a
2019-05-06T15:41:54.034786Z 20740 Query select 0
2019-05-06T15:41:54.034927Z 20740 Query SELECT * FROM a
2019-05-06T15:41:54.035016Z 20740 Query COMMIT
2019-05-06T15:41:54.035067Z 20740 Query select 0
2019-05-06T15:41:54.035129Z 20740 Query SELECT * FROM a
2019-05-06T15:41:54.035200Z 20740 Query select 0
2019-05-06T15:41:54.035254Z 20740 Query COMMIT
2019-05-06T15:41:54.035301Z 20740 Query SELECT * FROM a
2019-05-06T15:41:54.035371Z 20740 Query select 0
2019-05-06T15:41:54.035471Z 20740 Query COMMIT
2019-05-06T15:41:54.035521Z 20740 Quit
2019-05-06T15:41:54.035710Z 20734 Query select 3
2019-05-06T15:41:54.081056Z 20734 Query DROP SCHEMA IF EXISTS `ztdslap`
2019-05-06T15:41:54.085739Z 20734 Quit

如果这篇文章对你有帮助的话别忘了收藏点赞哦~还可以查看更多数据库开发相关文章。

【小白福利—初级DBA入门必看】MySQL常用工具介绍(十)——客户端工具MySQL_slap相关推荐

  1. mysql 类似于check_【小白福利—初级DBA入门必看】MySQL常用工具介绍(六)——客户端工具MySQL_check...

    作为程序员你对MySQLcheck了解多少呢?如果没有深入了解过那也不用担心,这里有最全最详细的介绍,现在跟着Amy了解也不算晚哦~ 1 . 简介 mysqlcheck用来维护表:check检查.re ...

  2. powershell 开发入门_详谈Ubuntu PowerShell(小白入门必看教程)

    早在去年八月份PowerShell就开始开源跨平台了,但是一直没有去尝试,叫做PowerShell Core. 这里打算简单介绍一下如何安装和简单使用,为还不知道PowerShell Core on ...

  3. 五分钟教你使用vue-cli3创建项目(三种创建方式,小白入门必看)

    五分钟教你使用vue-cli3创建项目(三种创建方式,小白入门必看) 一.搭建vue环境 安装Nodejs 官网下载Nodejs,如果希望稳定的开发环境则下LTS(Long Time Support) ...

  4. 笔记本计算机接口类型,小白入门必看!笔记本电脑常见接口都在这了

    原标题:小白入门必看!笔记本电脑常见接口都在这了 对很多没接触过或者刚接触笔记本电脑的朋友来说,笔记本电脑的接口是个比较令人头疼的问题,一是接口种类繁多,二是很多接口长得比较像,不易分辨,下面就给大家 ...

  5. 生信小白入门必看网站!常用数据库分享

    新手上路,如何快速了解自己课题,含有DNA.RNA序列等信息的核酸数据库肯定是需要了解滴.今天分享一部分大家会比较常用到的,可结合自己的研究背景挑选使用,主要是应用在组学研究or基因功能研究中. 生信 ...

  6. 计算机显卡可分为哪几类,小白入门必看:笔记本电脑分为哪几类?

    对于有购买意向.但是从未接触过笔记本电脑的朋友来说,首先应该对笔记本电脑的类别有一个大致的认识,之后才能根据自己的需求来选择产品. 笔记本电脑依据用途定位,大概分为以下几类: 优点:轻薄笔记本在重量. ...

  7. 95后数据科学家教你从零自学机器学习,这有3本入门必看书籍

    晓查 发自 凹非寺  量子位 编译 | 公众号 QbitAI 厌倦了现在的工作,想转行做数据科学,但是却没有计算机专业的相关学历,应该怎样才能入门? 这类的教程已经有很多.最近一位22岁的数据科学家D ...

  8. 视频教程-【平面设计】设计入门必看-海报设计视频教程-UI

    [平面设计]设计入门必看-海报设计视频教程 教学产品线与企业合作项目负责人,移动互联学院教学总监,从事培训与UI/UED课程研发工作多年,拥有数万学员且平均薪资位居行业前列.曾就职于世界500强互联网 ...

  9. 【平面设计】设计入门必看-海报设计视频教程-孙伟-专题视频课程

    [平面设计]设计入门必看-海报设计视频教程-273人已学习 课程介绍         本课程主要为初级学员录制,掌握纸媒印刷相关内容,是设计入门的基础:课程内容包含从平面的入门开始,从认识平面设计-- ...

最新文章

  1. Spring Cloud微服务分布式云架构—集成项目简介
  2. vscode 模糊部分代码_本周 GitHub 速览:您的代码有声儿吗?(Vol.38)
  3. 使用std::thread线程相关函数,-static静态编译的程序运行时的一些常见错误
  4. 重温CLR(八 ) 泛型
  5. 编程猫获新一轮 3 亿融资:做好少儿编程教育基础设施!
  6. IIS和tomcat共用80端口
  7. Fast Marching on 3D Meshes
  8. 1.2 安装 docker 容器并配置镜像加速器
  9. android信鸽推送通知栏,【信鸽推送】点击推送通知后,默认会从程序Launcher进入,返回时会回到主界面的问题...
  10. Android post ---花两天事件踩一个联网坑
  11. 如何在 Windows 中快速查找文档
  12. Android 各版本 设置 USB 默认连接 MTP 模式 ( Android 6.0+ )
  13. android关机动画
  14. 2019年杭电计算机考研经验
  15. 【luoguP5550】Chino的数列
  16. android曲面屏触摸事件,Android屏幕适配完美解决方案(曲面屏手机也是小Case)
  17. TED演讲集 TED视频打包下载(MP4+中英字幕) TED中英文对照字幕视频 TED资料文档 完整
  18. windows10风格 springboot vue.js html 跨域 前后分离 activiti 整合项目框架源码
  19. 将MySQL版本从5.7升级到8.0的操作过程和注意事项
  20. BeeHive —— 一个优雅但还在完善中的解耦框架

热门文章

  1. 蔬菜清洗污水处理(蔬菜冲洗循环用水污水处理)
  2. ERP之替代料的使用
  3. 红包拆分算法 php,关于PHP实现微信红包金额拆分的算法
  4. 软件好,才是真的好:区块链的1976—2017
  5. 简单的Swing入门
  6. shinelon自动修复此计算机,炫龙 shinelonV5 Pro 笔记本改win7详细图文教程
  7. 基础篇:Linux 常用命令总结
  8. 推荐个开源在线文档,助道友领悟 Django 之“道”
  9. 更改vue项目的title标题
  10. linux命令远程下载文件