mysqlslap执行基准测试
查看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执行基准测试的更多相关文章
- Mysql基准测试详细解说(根据慕课网:《打造扛得住Mysql数据库架构》视频课程实时笔录)
什么是基准测试 基准测试是一种测量和评估软件性能指标的活动用于建立某个时刻的性能基准,以便当系统发生软硬件变化时重新进行基准测试以及评估变化对性能的影响. 我们可以这样认为:基准测试是针对系统设置的一 ...
- MSQL的基准测试
Mysql基准测试 基准测试 直接.简单.易于比较,用于评估服务器的处理能力 压力测试 对真实的月数据进行测试,获得真是系统所能承受的压力 基准测试的目的 1.建立MySQL服务器的性能基准线 2.模 ...
- MySQL 基准测试
这是<高性能 MySQL(第三版)>第二章的读书笔记. 基准测试(benchmark)是针对系统的压力测试,用于掌握系统行为或重新系统的某个状态.sysbench 是常用的 MySQL 基 ...
- MySQL基准测试工具
一.基准测试 基准测试(benchmark)是针对系统设计的一种压力测试. 基准测试是简化了的压力测试. 1.1 常见指标 TPS QPS 响应时间 并发量 1.2 收集与分析数据脚本 收集数据的sh ...
- JMH基准测试框架
jmh-gradle-plugin, 集成JMH基准测试框架和 Gradle 0 赞 0 评论 文章标签:Gradle JMH 基准 INT benchmark framework 帧 ...
- 健壮的 Java 基准测试
健壮的 Java 基准测试 健壮的 Java 基准测试,第 1 部分: 问题 了解 Java 代码基准测试的问题 Brent Boyer, 程序员, Elliptic Group, Inc. 简介:程 ...
- 如何对你的Linux系统进行基准测试: 3开源基准测试工具
如何对你的Linux系统进行基准测试: 3开源基准测试工具 0 赞0 评论 文章标签:SYS Source benchmark tool 开源 基准 系统 linux实用程序的 ...
- 探究Go-YCSB做数据库基准测试
本篇文章开篇会介绍一下Go-YCSB是如何使用,然后按照惯例会分析一下它是如何做基准测试,看看它有什么优缺点. 转载请声明出处哦~,本篇文章发布于luozhiyun的博客: https://www.l ...
- mysql基础测试
mysql基础测试 测试原因 为什么需要做性能测试 模拟比当前系统更高的负载,找出性能瓶颈 重现线上异常 测试不同硬件软件配置 规划未来的业务增长 测试分类 性能测试的分类 设备层的测试 ...
随机推荐
- 一个骚气的前端JS代码生成网站
生成Javascript 颜文字代码 稍微试了试 原本的代码: alert("Hello, JavaScript") 转换后代码 ゚ω゚ノ= /`m´)ノ ~┻━┻ //*´∇`* ...
- MyBatis 指定的转换无效
表字段Pay类型设置的是float,生成类的属性如下: public double Pay{get;set;} 读取列表时出现如下错误: 错误信息: 查看堆栈跟踪信息, get_Decimal()提示 ...
- Vue指令(二)--数组的变动
1.数组更新数据,引起视图更新 数据驱动:数据发生变化,引起视图的变化 Vue在检测数组变化的时候,并不是直接重新渲染整个列表,而是最大化的复用Dom元素. 替换的数组中,含有相同元素的项是不会被重新 ...
- Angular4 step by step.3
1.Routes 路由模块 import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angul ...
- [android] 练习viewpagerindicator的使用(一)
主要是学习一下使用这个库 activity_main.xml <?xml version="1.0" encoding="utf-8"?> < ...
- javaweb带父标签的自定义标签
1.完整的示例代码:要实现的功能是父标签中有name属性,子标签将父标签的name属性值打印到jsp页面上. 1.1 父类和子类的标签处理器类 testParentTag.java package c ...
- javascript获取文件后缀名
javascript获取文件后缀名:在需要验证文件格式的时候,首先就要获得文件的格式,下面是一个通过正则表达式获取文件后缀名的一个简单实例. function validate(){ var impo ...
- webpack 启动 vue
右击 package.json 单击show npm Scripts
- C#开发小技巧
001.判断一个Form是否已关闭并释放,需要从引用和对象两方面来判断,判断引用是否为null:mainfm==null判断引用的对象是否已释放:mainfm.IsDisposedMainFormma ...
- AndroidStudio安装教程
Android studio安装与配置 1.首先下载Android studio安装包,可以从http://www.android-studio.org/ 2.下载好该安装包之后,点击进行安装,依次出 ...