查看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. FZU2168——防守阵地 I——————【找规律或前缀和】

    防守阵地 I Time Limit:3000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  2. String.Compare 方法 (String, Int32, String, Int32, Int32)

    String.Compare 方法 (String, Int32, String, Int32, Int32) 对两个指定的 String 对象的子字符串进行比较,并返回一个指示二者在排序顺序中的相对 ...

  3. bat下执行java程序报错处理

    G:\>java -Xms128M -Xmx512M -server -Dprogram.name=b omc-sa-tdtpagent -Dfile.encoding=GBK -Duser.t ...

  4. django通用分页封装

    __author__ = 'Administrator'from django.utils.safestring import mark_safe class Page:    def __init_ ...

  5. Oracle OCI操作UDT相关学习

    1.Oracle数据类型 Oracle的数据类型如下 字符串类型 char nchar varchar2 nvarchar2 数值类型 int number integer smallint 日期类型 ...

  6. Python 2.x版本和Python3.x版本的不同

    在新的Python版本中,Python3.x虽然在主要的核心语言和模块等方面没有打的改变,但是Python3.x与2.x还是有很大区别的.而且Python3.x与2.x并不兼容. 比如说HTTPSer ...

  7. BBS登录与注册功能

    登录功能 视图函数 def my_login(request): if request.method == 'GET': return render(request, 'login.html') el ...

  8. 软件项目技术点(7)——在canvas上绘制自定义图形

    AxeSlide软件项目梳理   canvas绘图系列知识点整理 图形种类 目前我们软件可以绘制出来的形状有如下这几种,作为开发者我们一直想支持用户可以拖拽的类似word里面图形库,但目前还没有找到比 ...

  9. Linux基础之-网络配置,主机名设置,ssh登陆,scp传输

    一. 网络配置修改 1.临时修改(ip,dns,netmask,gateway) 临时修改网络配置,只要没有涉及到修改配置文件的,在network服务重启后,所有设置失效 2.永久修改(ip,dns, ...

  10. 轻松看懂机器学习十大常用算法 (Machine Learning Top 10 Commonly Used Algorithms)

    原文出处: 不会停的蜗牛    通过本篇文章可以对ML的常用算法有个常识性的认识,没有代码,没有复杂的理论推导,就是图解一下,知道这些算法是什么,它们是怎么应用的,例子主要是分类问题. 每个算法都看了 ...