mysql 压力测试之sysbench

1.sysbench 的安装

下载下来之后会有一个sysbench-0.4.10.tar.gz  压缩包.

解压后生成目录 sysbench-0.4.10

进入sysbench-0.4.10 这个目录

[root@linuxvm01 home]# cd  /home/sysbench-0.4.10

编译安装sysbench

[root@linuxvm01 sysbench-0.4.10]# ./configure --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib  && make && make install

checking build system type... x86_64-unknown-linux-gnu

checking host system type... x86_64-unknown-linux-gnu

checking target system type... x86_64-unknown-linux-gnu

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for a thread-safe mkdir -p... /bin/mkdir -p

checking for gawk... gawk

TIP:

with-mysql-includes 指定上面确认的mysql-devel的路径,

with-mysql-libs 是安装mysql的路径,

#  当时这两个参数没弄明白编译安装的时候一直报错,

安装过程中出现的错误处理

(1).drv_mysql.c:32:19: error: mysql.h: No such file or directory

参数 with-mysql-includes ,with-mysql-libs 不准确

(2)./usr/bin/ld: cannot find -lmysqlclient_r

collect2: ld returned 1 exit status

make[2]: *** [sysbench] Error 1

make[2]: Leaving directory `/home/sysbench-0.4.10/sysbench'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/home/sysbench-0.4.10/sysbench'

make: *** [all-recursive] Error 1

安装下:rpm -ivh  MySQL-shared-5.6.22-1.el6.x86_64.rpm

2.sysbench 的使用

sysbench 可以测试的项目有

cpu的性能测试

内存性能测试

磁盘io吸能测试

oltp系统测试

最重要的还是 磁盘io吸能测试 和oltp 测试。

这里重点讲解下磁盘io吸能测试 和oltp 测试。

=====磁盘io性能测试 ==============

IO测试分为三个阶段, 文件生成,执行测试,清理测试文件

首先生成需要测试的文件

sysbench --test=fileio --num-threads=2 --file-num=16 --file-total-size=30G --file-test-mode=rndrw --file-rw-ratio=2 prepare

[root@linuxvm01 ~]# sysbench --test=fileio --num-threads=2 --file-num=16 --file-total-size=30G --file-test-mode=rndrw --file-rw-ratio=2 prepare

sysbench 0.4.10:  multi-threaded system evaluation benchmark

16 files, 1966080Kb each, 30720Mb total

Creating files for the test...

然后执行测试

sysbench --test=fileio --num-threads=2 --file-num=16 --file-total-size=30G --file-test-mode=rndrw --file-rw-ratio=2 run

[root@linuxvm01 ~]# sysbench --test=fileio --num-threads=2 --file-num=16 --file-total-size=30G --file-test-mode=rndrw --file-rw-ratio=2 run

sysbench 0.4.10:  multi-threaded system evaluation benchmark

Running the test with following options:

Number of threads: 2

Extra file open flags: 0

16 files, 1.875Gb each

30Gb total file size

Block size 16Kb

Number of random requests for random IO: 10000

Read/Write ratio for combined random IO test: 2.00

Periodic FSYNC enabled, calling fsync() each 100 requests.

Calling fsync() at the end of test, Enabled.

Using synchronous I/O mode

Doing random r/w test

Threads started!

Done.

Operations performed:  6667 Read, 3333 Write, 1600 Other = 11600 Total

Read 104.17Mb  Written 52.078Mb  Total transferred 156.25Mb  (2.0936Mb/sec)

133.99 Requests/sec executed

Test execution summary:

total time:                          74.6328s

total number of events:              10000

total time taken by event execution: 142.3936

per-request statistics:

min:                                  0.01ms

avg:                                 14.24ms

max:                                305.56ms

approx.  95 percentile:              37.48ms

Threads fairness:

events (avg/stddev):           5000.0000/12.00

execution time (avg/stddev):   71.1968/0.09

这个里面最重要的需要关注的吞吐量(2.0936Mb/sec) ,

每秒请求数( 133.99 Requests/sec executed)

还有95%的请求耗时( approx.  95 percentile:              37.48ms)

最后清理测试文件

sysbench --test=fileio --num-threads=2 --file-num=16 --file-total-size=30G --file-test-mode=rndrw --file-rw-ratio=2 cleanup

=====OLTP 系统性能测试 ==============

otlp性能测试分为两阶段.

1.准备阶段

2.执行阶段

--准备阶段

[root@linuxvm01 ~]# sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=4000000 --mysql-socket=/var/lib/mysql/mysql.sock --mysql-db=test  --mysql-user=root  --mysql-password=anyu@2014 prepare

sysbench 0.4.10:  multi-threaded system evaluation benchmark

No DB drivers specified, using mysql

Creating table 'sbtest'...

Creating 4000000 records in table 'sbtest'...

-- 执行阶段

[root@linuxvm01 ~]# sysbench --num-threads=8 --max-requests=4000000 --test=oltp --mysql-table-engine=innodb --oltp-table-size=4000000 --mysql-socket=/var/lib/mysql/mysql.sock --mysql-db=test --mysql-user=root  --mysql-password=anyu@2014 run

sysbench 0.4.10:  multi-threaded system evaluation benchmark

No DB drivers specified, using mysql

WARNING: Preparing of "BEGIN" is unsupported, using emulation

(last message repeated 7 times)

Running the test with following options:

Number of threads: 8

Doing OLTP test.

Running mixed OLTP test

Using Special distribution (12 iterations,  1 pct of values are returned in 75 pct cases)

Using "BEGIN" for starting transactions

Using auto_inc on the id column

Maximum number of requests for OLTP test is limited to 4000000

Threads started!

Done.

OLTP test statistics:

queries performed:

read:                            56000000

write:                           20000000

other:                           8000000

total:                           84000000

transactions:                        4000000 (125.37 per sec.)

deadlocks:                           0      (0.00 per sec.)

read/write requests:                 76000000 (2381.99 per sec.)

other operations:                    8000000 (250.74 per sec.)

Test execution summary:

total time:                          31906.1255s

total number of events:              4000000

total time taken by event execution: 255224.4528

per-request statistics:

min:                                  2.69ms

avg:                                 63.81ms

max:                               5557.09ms

approx.  95 percentile:             178.90ms

Threads fairness:

events (avg/stddev):           500000.0000/2282.56

execution time (avg/stddev):   31903.0566/0.09

这段输出中包含了

QPS(transactions:                        4000000 (125.37 per sec.)) ,

tps( transactions:                        4000000 (125.37 per sec.))

百分之95的请求耗时在178.90ms : approx.  95 percentile:             178.90ms

参考链接:

mysql sysbench 教程_mysql sysbench 使用方法!相关推荐

  1. mysql 全文检索 教程_MySQL:详细说明MySQL全文检索图文详细教程

    软件安装:装机软件必备包 本站电脑知识提供电脑入门知识,计算机基础知识,计算机网络应用基础知识,电脑配置知识,电脑故障排除和电脑常识大全,帮助您更好的学习电脑!不为别的,只因有共同的爱好,为中国互联网 ...

  2. mysql导出教程_MySQL导出导入数据实现教程

    参数说明 MySQL连接 -u$USER 用户名 -p$PASSWD 密码 -h127.0.0.1 主机名或者IP地址 -P3306 端口 –default-character-set=utf8 设置 ...

  3. mysql数据迁移_Mysql数据迁移方法

    MySQL迁移通常使用的有三种方法: 1.数据库直接导出,拷贝文件到新服务器,在新服务器上导入. 2.使用第三方迁移工具. 3.数据文件和库表结构文件直接拷贝到新服务器,挂载到同样配置的MySQL服务 ...

  4. mysql安装教程_mysql 5.5 安装配置方法图文教程

    回忆一下mysql 5.5 安装配置方法,整理mysql 5.5 安装配置教程笔记,分享给大家. 1.首先进入的是安装引导界面 2.然后进入的是类型选择界面,这里有3个类型:Typical(典型).C ...

  5. mysql less6教程_MySQL 超级入门教程

    原标题:MySQL 超级入门教程 MySQL简介 1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二 ...

  6. mysql资源教程_MySQL 超级入门教程(内含资源福利)

    原标题:MySQL 超级入门教程(内含资源福利) MySQL简介 1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场 ...

  7. mysql资源教程_MySQL 超级入门教程以及MySQL 资源大全的分享

    MySQL简介 1.什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅 ...

  8. mysql 全文检索 教程_mysql怎么做全文检索

    mysql做全文检索的方法: 1.自然语言检索:IN NATURAL LANGUAGE MODE 2.布尔检索:IN BOOLEAN MODE 剔除一半匹配行以上都有的词,譬如说,每个行都有this这 ...

  9. mysql administrator教程_MYSQL administrator 使用

    MySQL Administrator,在余下时间里我假定你已经安装了MySQL Administrator,并且将使用相关图例. 500)this.style.width=500;" bo ...

最新文章

  1. 填个小坑,Vue不支持IE8及以下,跨域ajax不支持IE9
  2. K-近邻(KNN)算法
  3. sdwan能取代mpls吗?—Vecloud
  4. 发掘Apache Camel的力量
  5. 百度地图LV1.5实践项目开发工具类bmap.util.jsV1.2
  6. 第 39 章 ThinkPHP--CURD 操作
  7. 轻松搞定 Shell 玩转 HiveSQL
  8. mysqlplus 批量插入_MySQL批量插入数据
  9. js获取当前日期时间和其他操作
  10. git rev-parse 和 git cat-file
  11. java 弹框_java弹框
  12. PS中如何简单、快速更换照片的背景色
  13. 蓄电池充电方法和一张原理图
  14. c语言编程中exp,c语言中exp是什么函式
  15. 自己写的txt分割器
  16. vr软件测试,如何进行VR可用性测试?
  17. 用C/C++手撕CPlus语言的集成开发环境(1)—— 语言规范 + 词法分析器
  18. 国产海洋地球物理设备简述----侧扫声纳
  19. Welcome To Java!
  20. CAD教程:CAD看图软件中怎么设置比例?

热门文章

  1. 面试还搞不懂redis,快看看这40道面试题(含答案和思维导图)
  2. 下载并安装Borland C ++ Compiler 5.5
  3. Linux中移动光标cw什么意思,linux常用指令详解
  4. 2019.7.6--jzDay2
  5. 生日快乐的网页(用HTML和JavaScript)
  6. Gearman安装与使用,分布式消息队列
  7. 拼题A打卡奖励 (25 分),1355D,1362C;
  8. 计算机应用技术学硕研究方向,计算机应用技术专业硕士研究生培养方案
  9. 计算机信息课堂教育形势分析,信息技术在教学中的应用情况分析
  10. Android 11:bluetooth@1.0蓝牙架构分析