Mysql 基准测试mysqlslap,sysbench









基准测试基本步骤







设计尽可能简单,明确测试方式哪一种,使用什么样的数据
例如:反映实际情况,用生产环境的数据的备份,可以通过日志,进行访问量的回放
如果测试性能,可以用测试工具生成数据。
执行一次和 很短时间是没有意义的,多次结果的平均值。尽可能多收集相关信息




开始实际进行测试
mysqlslap --help 检查是否安装mysqlslap测试工具
mysqlslap --concurrency=1,50,100,200 --iterations=3 --number-int-cols=5 --number-charcols=5 --auto-generate-sql --auto-generate-sql-add-autoincrement --engine=myisam,innodb --number-of-queries=10 --create-schema=sbtest
参数说明
--concurrency=1,50,100,200 指定并发数量1个并发,50个并发,100个并发,200个并发
--iterations=3 完成3次测试
--number-int-cols=5 生成的整数行
--number-charcols=5 varchar列也是5行
--auto-generate-sql 自动生成sql
--auto-generate-sql-add-autoincrement 自动生成自增ID
--engine=myisam,innodb 需要测试的引擎
--number-of-queries=10 指定查询量 10次
--create-schema=sbtest 指定一个目录
执行完之后,增加下面命令在运行一下
--only-print 查看执行的脚本,并不运行 脚本,看一看究竟运行 了什么
另一款性能测试工具sysbench
mysqlslap 测试方案不能很好的测试性能,并没有建立索引。 cpu,内存,IO无能为力
sysbench支持脚本语言,可以自定义设置。可以权威的测试工具,常用的。测试方式接近innodb测试方式



由于视频语音错误,只有截图。还需要查资料。
cd svsbench-0.5
cd tests
cd db
ls *.lua



sysbench --test=cpu --cpu-max-prime=10000 测试cpu性能 cpu所要计算最大转换值10000,只测试了单核cpu的性能
free -m 查看操作系统内存量,
当前虚拟机内存512M,测试文件要大于512M,这里设定为1G。
sysbench --test=fileio --file-total-size=1G prepar 对文件IO进行,测试文件尺寸1G。prepar开始准备
所有文件相加大概是1G
sysbench --test=fileio --num-threads=8 --init-rng=on --file-total-size=1G --file-test-mode=rndrw --report-interval=1 run
--test=fileio
--num-threads=8 测试进程的数量 并发
--init-rng=on
--file-total-size=1G 文件的 大小
--file-test-mode=rndrw io种类 随机读写
--report-interval=1 多少秒的间隔输出统计结果
run 开始运行
每个1秒输出统计结果,读取数量,写入数量,同步数量,响应时间。
新硬件上限之前,都要进行cpu,IO性能测试
接下来进行数据库性能测试
1创建数据库,用户名和密码
create databases imooc;创建数据库
grant allprivileges on *.* to sbest@'localhost' identified by '123456'; 创建用户名密码权限
进入脚本目录 tests/db ls -l *.lua
准备测试数据
sysbench --test=./oltp.lua --mysql-table-engine=innodb --oltp-table-size=10000 --mysql-db=immooc --mysql-user=sbtest --mysql-password=123456 --oltp-tables-count=10 --mysql-socket=/usr/local/mysql/data/mysql.sock prepar
--test=./oltp.lua
--mysql-table-engine=innodb 存储因情
--oltp-table-size=10000 每一个表的大小
--mysql-db=immooc db名字
--mysql-user=sbtest 用户名
--mysql-password=123456 密码
--oltp-tables-count=10 oltp表的数量
--mysql-socket=/usr/local/mysql/data/mysql.sock mysql sock文件进行连接
prepar 生成数据
现在查看数据库,生成了10张表,单表数据行数10000行
接下来进行测试
另一个客户端 后台运行系统状态收集脚本 bash ./Get_test_info.sh &
进入第一个客户端运行测试 sysbench prepar 改成 run 命令 运行
进入数据收集目录,已经生成了数据文件。

测试完成后,停掉收集脚本。
./analyze.sh 分析收集到的数据
Mysql 基准测试mysqlslap,sysbench的更多相关文章
- 详解MySQL基准测试和sysbench工具
前言 作为一名后台开发,对数据库进行基准测试,以掌握数据库的性能情况是非常必要的.本文介绍了MySQL基准测试的基本概念,以及使用sysbench对MySQL进行基准测试的详细方法. 文章有疏漏之处, ...
- 详解MySQL基准测试和sysbench工具(转)
前言 作为一名后台开发,对数据库进行基准测试,以掌握数据库的性能情况是非常必要的.本文介绍了MySQL基准测试的基本概念,以及使用sysbench对MySQL进行基准测试的详细方法. 文章有疏漏之处, ...
- 解MySQL基准测试和sysbench工具
前言 作为一名后台开发,对数据库进行基准测试,以掌握数据库的性能情况是非常必要的.本文介绍了MySQL基准测试的基本概念,以及使用sysbench对MySQL进行基准测试的详细方法. 文章有疏漏之处, ...
- MySQL基准测试工具--sysbench
我们需要知道的是sysbench并不是一个压力测试工具,是一个基准测试工具.linux自带的版本比较低,我们需要自己安装sysbench. [root@test2 ~]# sysbench --ver ...
- MySQL基准测试和sysbench工具
参考https://www.cnblogs.com/kismetv/archive/2017/09/30/7615738.html 一.基准测试的作用 sysbench是一个开源的.模块化的.跨平台的 ...
- mysql基准测试与sysbench工具
一.基准测试简介 1.什么是基准测试 数据库的基准测试是对数据库的性能指标进行定量的.可复现的.可对比的测试. 基准测试与压力测试 基准测试可以理解为针对系统的一种压力测试.但基准测试不关心业务逻辑 ...
- MySQL性能压力基准测试工具sysbench
1.sysbench介绍 这里介绍一款MySQL数据库的压力测试软件sysbench,用它来进行基准测试. sysbench 是一个开源的.模块化的.跨平台的多线程性能测试工具, 可以用来进行CPU. ...
- Mysql基准测试详细解说(根据慕课网:《打造扛得住Mysql数据库架构》视频课程实时笔录)
什么是基准测试 基准测试是一种测量和评估软件性能指标的活动用于建立某个时刻的性能基准,以便当系统发生软硬件变化时重新进行基准测试以及评估变化对性能的影响. 我们可以这样认为:基准测试是针对系统设置的一 ...
- 【mysql】mysql基准测试
基准测试定义 基准测试其实是一种测量和评估软件性能指标的方法,用于建立某个时间点的性能基准,以便当系统的软硬件发生变化的时候重新进行基准测试以评估变化对性能的影响.所以对系统性能的测量,才能知道我们的 ...
随机推荐
- scrapy常用命令
终端命令 创建一个项目: scrapy startproject name 利用蜘蛛名创建一个py文件: scrapy genspider name domain.name 在终端运行:scrapy ...
- 牛客HJ浇花。
我也不知道这是什么类型的题,算是简单模拟吧.但是有个方法很赞. 开两个数组,一个模拟花,一个记录不同浇花次数花的数量: 要找浇水的次数,那么记每次浇水的开头和结尾就行了,a—b;那么f[a]++;f[ ...
- tomcat服务器安装方法
tomcat: 链接:https://pan.baidu.com/s/1pMEu0hP 密码:g0ah (tomcat7) jdk :链接:https://pan.baidu.com/s/1 ...
- Python数据结构——栈的链表实现
自定义链表实现栈的数据结构,代码如下: class Stack: def __init__(self): self._first = None def push(self,item): self._f ...
- CUDA学习
CUDA(Compute Unified Device Architecture,统一计算架构)是由NVIDIA所推出的一种集成技术,是该公司对于GPGPU的正式名称.通过这个技术,用户可利用NVID ...
- C++学习(十五)(C语言部分)之 数组二
数组大纲 多维数组 二维数组 重点 (三位以上基本不会用到) 都是用来存数据 一个班有20个人 可以用一维数组存20个人的年龄 int age[20]; 一个年级10个班 每个班20人 int age ...
- HTML中嵌套的子frame如何访问父页面中的函数?
我解决的办法,在父页面写了个函数,然后在frame页面调用父页面的函数,具体代码如下: 父:function a(){} 子frame:window.parent.a(); 问题迎刃而解 https: ...
- (惊艳)hashmap的理解(映射)
第一: hashmap在内存中是长这样的,数组+链表的形式 // HashMap采用链表法解决冲突,每一个Entry本质上是一个单向链表 transient Entry[] table; 第二: p ...
- 远程连接mysql数据库碰到的问题及解决方案
直接用SecureCRT登录到我的linux服务器,连接mysql后出现以下错误 然后我用root用户登录到mysql查看了我的用户信息,如下 出现问题1的原因有很多种,我这里是因为用错了yangli ...
- C# 自动升级
自动更新的软件的目的在于让客户不在为了寻找最新软件花费时间.也不用去到开发商的网站上查找.客户端的软件自动会在程序启动前查找服务器上最新的版本.和自己当前软件的版本比较,如果服务器的是最新版本.客户端 ...