查看mysqlslap所支持的主要参数配置及说明如下

-a, --auto-generate-sql 由系统自动生成SQL脚本进行测试
Generate SQL where not supplied by file or command line.
--auto-generate-sql-add-autoincrement 生成的表中增加自增的ID
Add an AUTO_INCREMENT column 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-write-number=# 制定所生成的初始化数据的条数
Number of row inserts to perform for each thread (default
is ).-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名称
Schema to run tests in.-T, --debug-info This is a non-debug version. Catch this and exit.指定输出额外的内存及CPU统计信息-e, --engine=name Storage engine to use for creating the table. 指定所测试的存储引擎,用逗号可以分割以便测试多个引擎
-h, --host=name Connect to host. 链接远程主机的IP
-i, --iterations=# Number of times to run the tests. 指定本次测试需要运行的次数
--no-drop Do not drop the schema after the test. 指定测试完成后,不清理过程数据
-x, --number-char-cols=name 指定测试表中生成的varchar类型的数据数量
Number of VARCHAR columns to create in table if
specifying --auto-generate-sql.
-y, --number-int-cols=name 指定测试表中生成的int类型的数据数量
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.-q, --query=name Query to run or file containing query to run.自定义测试用的sql
-u, --user=name User for login if not current user. 指定测试所用的链接数据库的用户名

其中,完整的运行脚本如下

mysqlslap -S /tmp/mysql3306.sock --concurrency=,,, --iterations= --number-int-cols= --number-char-cols= --auto-generate-sql --auto-generate-sql-add-autoincrement --engine=innodb --number-of-queries= --create-schema=test -uroot -p

待输入密码后,测试信息如下

Enter password:
Benchmark
Running for engine innodb
Average number of seconds to run all queries: 0.097 seconds
Minimum number of seconds to run all queries: 0.093 seconds
Maximum number of seconds to run all queries: 0.107 seconds
Number of clients running queries:
Average number of queries per client: Benchmark
Running for engine innodb
Average number of seconds to run all queries: 0.506 seconds
Minimum number of seconds to run all queries: 0.447 seconds
Maximum number of seconds to run all queries: 0.570 seconds
Number of clients running queries:
Average number of queries per client: Benchmark
Running for engine innodb
Average number of seconds to run all queries: 2.204 seconds
Minimum number of seconds to run all queries: 1.595 seconds
Maximum number of seconds to run all queries: 3.257 seconds
Number of clients running queries:
Average number of queries per client: mysqlslap: Error when connecting to server: Too many connections
mysqlslap: Error when connecting to server: Too many connections
mysqlslap: Error when connecting to server: Too many connections
mysqlslap: Error when connecting to server: Too many connections

此时可以看出来,当并发达到了200的时候,出现了Too many connections的异常,这是因为mysql默认配置的最大链接数为100,故需要对my.cnf做如下的修改

添加max_connections=1024,之后运行正常

Benchmark
Running for engine innodb
Average number of seconds to run all queries: 0.093 seconds
Minimum number of seconds to run all queries: 0.087 seconds
Maximum number of seconds to run all queries: 0.098 seconds
Number of clients running queries:
Average number of queries per client: Benchmark
Running for engine innodb
Average number of seconds to run all queries: 0.514 seconds
Minimum number of seconds to run all queries: 0.462 seconds
Maximum number of seconds to run all queries: 0.545 seconds
Number of clients running queries:
Average number of queries per client: Benchmark
Running for engine innodb
Average number of seconds to run all queries: 1.209 seconds
Minimum number of seconds to run all queries: 1.173 seconds
Maximum number of seconds to run all queries: 1.241 seconds
Number of clients running queries:
Average number of queries per client: Benchmark
Running for engine innodb
Average number of seconds to run all queries: 2.174 seconds
Minimum number of seconds to run all queries: 1.978 seconds
Maximum number of seconds to run all queries: 2.402 seconds
Number of clients running queries:
Average number of queries per client:

mysqlslap执行基准测试的更多相关文章

  1. Mysql基准测试详细解说(根据慕课网:《打造扛得住Mysql数据库架构》视频课程实时笔录)

    什么是基准测试 基准测试是一种测量和评估软件性能指标的活动用于建立某个时刻的性能基准,以便当系统发生软硬件变化时重新进行基准测试以及评估变化对性能的影响. 我们可以这样认为:基准测试是针对系统设置的一 ...

  2. MSQL的基准测试

    Mysql基准测试 基准测试 直接.简单.易于比较,用于评估服务器的处理能力 压力测试 对真实的月数据进行测试,获得真是系统所能承受的压力 基准测试的目的 1.建立MySQL服务器的性能基准线 2.模 ...

  3. MySQL 基准测试

    这是<高性能 MySQL(第三版)>第二章的读书笔记. 基准测试(benchmark)是针对系统的压力测试,用于掌握系统行为或重新系统的某个状态.sysbench 是常用的 MySQL 基 ...

  4. MySQL基准测试工具

    一.基准测试 基准测试(benchmark)是针对系统设计的一种压力测试. 基准测试是简化了的压力测试. 1.1 常见指标 TPS QPS 响应时间 并发量 1.2 收集与分析数据脚本 收集数据的sh ...

  5. JMH基准测试框架

    jmh-gradle-plugin, 集成JMH基准测试框架和 Gradle   0 赞 0 评论 文章标签:Gradle  JMH  基准  INT  benchmark  framework  帧 ...

  6. 健壮的 Java 基准测试

    健壮的 Java 基准测试 健壮的 Java 基准测试,第 1 部分: 问题 了解 Java 代码基准测试的问题 Brent Boyer, 程序员, Elliptic Group, Inc. 简介:程 ...

  7. 如何对你的Linux系统进行基准测试: 3开源基准测试工具

    如何对你的Linux系统进行基准测试: 3开源基准测试工具   0 赞0 评论 文章标签:SYS  Source  benchmark  tool  开源  基准  系统     linux实用程序的 ...

  8. 探究Go-YCSB做数据库基准测试

    本篇文章开篇会介绍一下Go-YCSB是如何使用,然后按照惯例会分析一下它是如何做基准测试,看看它有什么优缺点. 转载请声明出处哦~,本篇文章发布于luozhiyun的博客: https://www.l ...

  9. mysql基础测试

    mysql基础测试 测试原因   为什么需要做性能测试 模拟比当前系统更高的负载,找出性能瓶颈 重现线上异常 测试不同硬件软件配置 规划未来的业务增长   测试分类   性能测试的分类 设备层的测试 ...

随机推荐

  1. 从零实现一个简易的jQuery框架之二—核心思路详解

    如何读源码 jQuery整体框架甚是复杂,也不易读懂.但是若想要在前端的路上走得更远.更好,研究分析前端的框架无疑是进阶路上必经之路.但是庞大的源码往往让我们不知道从何处开始下手.在很长的时间里我也被 ...

  2. linux 修改用户主目录(转载)

    第一:修改/etc/passwd文件 第二:usermod命令 详细说明如下: 第一种方法: vi /etc/passwd 找到要修改的用户那几行,修改掉即可.此法很暴力,建议慎用. 第二种:user ...

  3. Redis - 数据类型常用命令

    5种数据类型都离不开key,先列出key的相关命令. KEY相关操作 列出符合规则的KEYS KEYS pattern pattern支持glob风格的通配符格式,即: ? 一个字符 * 任意多个字符 ...

  4. jasperreports+iReport+jatoolsPrinter制作报表笔记

    此文章是基于 EasyUI+Knockout实现经典表单的查看.编辑 一. 准备工作 1. 点击此下载相关的文件,并把 ims 文件夹放到 ims 工程对应的路劲下 2. 参考网址:杰创打印控件 二. ...

  5. 第8章 CSS3中的变形与动画(上)

    变形--旋转 rotate() 旋转rotate()函数通过指定的角度参数使元素相对原点进行旋转.它主要在二维空间内进行操作,设置一个角度值,用来指定旋转的幅度.如果这个值为正值,元素相对原点中心顺时 ...

  6. 谈谈我从工作中理解的CDN

    一.CDN定义 CDN的全称是Content Delivery Network,即内容分发网络.其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快.更稳定.通过 ...

  7. alert 多语言的处理

    1. code <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <m ...

  8. Spring 框架(二)

    1AOP 1.1 AOP介绍 1.1.1 什么是AOP l 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功 ...

  9. SpringBoot框架下基于Junit的单元测试

    前言 Junit是一个Java语言的单元测试框架,被开发者用于实施对应用程序的单元测试,加快程序编制速度,同时提高编码的质量.是一个在发展,现在已经到junit5,在javaEE开发中与很多框架相集成 ...

  10. swoole 创建tcp服务器

    server.php <?php /** * 创建tcp服务器 * Date: 2019/1/15 */ $serv = new swoole_server('127.0.0.1', 9501) ...