sysbench压力测试工具使用:

2.1    测试数据库服务器的硬件配置信息如下:

CPU:      24核心线程数,Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz

MEM:    64G,8*8G=64G

DISK:      15000转/秒

2.2    对磁盘IO性能的测试:

2.2.1 创建fileio文件

创建初始化fileio文件:

[root@db-master sysbench]# sysbench --test=fileio --file-num=16 --file-total-size=2G prepare

sysbench 0.4.12:  multi-threaded system evaluation benchmark

16 files, 131072Kb each, 2048Mb total

Creating files for the test...

2.2.1 开始fileio测试

接下来开始对这些文件进行测试,使用16个线程随机读进行测试结果如下:

[root@db-master sysbench]# sysbench --test=fileio --file-total-size=2G --file-test-mode=rndrd --max-time=180 --max-requests=100000000 --num-threads=16 --init-rng=on --file-num=16 --file-extra-flags=direct --file-fsync-freq=0 --file-block-size=16384 run

可以看到随机读取的性能为75.988Mb/sec,随机读的IOPS为4863.25 Requests/sec.说明服务器的硬件配置还不错。

2.2.3 测试完成执行cleanup

测试结束后,记得执行cleanup,以确保测试所产生的文件都已删除:

 

 

 

 

[root@db-master sysbench]# sysbench --test=fileio --file-num=16 --file-total-size=2G cleanup

sysbench 0.4.12:  multi-threaded system evaluation benchmark

Removing test files...

如果需要测试seqwr(顺序写), seqrewr(顺序读写), seqrd(顺序读), rndrd(随机读), rndwr(随机写), rndrw(随机读写)等6种模式,并且还可能需要测试不同的线程和不同的文件块下磁盘的性能表现,这时,可以使用如下脚本达到测试目的。

测试脚本内容如下:

#!/bin/bash

#==============================================================================

#

#          FILE: sysbench_auto.sh

#

#         USAGE: ./sysbench_auto.sh

#

#   DESCRIPTION: This file is sysbench_auto.sh

#        AUTHOR: Kevin Lu (kevin), kevin@gmail.com

#  ORGANIZATION: cmcc

#       CREATED: 02/26/2014 17:35

#      REVISION: v1.0.1

#==============================================================================

for size in {8G,64G}

do

for mode in {seqwr,seqrewr,seqrd,rndrd,rndwr,rndrw}

do

for blksize in {4096,16384}

do

sysbench --test=fileio --file-num=64 --file-total-size=$size prepare

for threads in {1,4,8,16,32}

do

echo "=============testing $blksize in $threads threads"

echo PARAS $size $mode $threads $blksize > sysbench-size-$size-mode-$mode-threads-$threads-blksz-$blksize

for i in {1,2,3}

do

sysbench --test=fileio --file-total-size=$size --file-test-mode=$mode --max-time=180 --max-requests=100000 --num-threads=$threads --

init-rng=on --file-num=64 --file-extra-flags=direct --file-fsync-freq=0 --file-block-size=$blksize run|tee -a sysbench-size-$size-mo

de-$mode-threads-$threads-blksz-$blksize 2>&1

done

done

sysbench --test=fileio --file-total-size=$size cleanup

done

done

done

-- 脚本运行后,在当前目录下会生成如下文件:

3.1 对mysql事务型OLTP的测试:

3.1.1 prepare准备阶段

对于mysqlOLTP测试,和file一样,同样需要经历prepare,run,cleanup三个阶段。prepare阶段会在数据库中产生一张指定行数的表,默认表在sbtest架构下,表名为

sbtest(sysbench默认生成表的存储引擎为innodb),如创建一张8000万条记录的表:

[root@db-master sysbench]# sysbench --test=oltp --oltp-table-size=80000000 --db-driver=mysql --mysql-socket=/data/mysqlsoft3307/mysql.sock --mysql-user=dba_manager  --mysql-password='111111' --mysql-db=test prepare

sysbench 0.4.12:  multi-threaded system evaluation benchmark

Creating table 'sbtest'...

Creating 10 records in table 'sbtest'...

3.1.2 run运行测试

接下来对上面产生的表进行oltp的测试:

[root@db-master sysbench]# sysbench --test=oltp --oltp-table-size=80000000 --oltp-read-only=off --init-rng=on --num-threads=16 --max-requests=0 --oltp-dist-type=uniform --max-time=3600 --mysql-user=dba_manager  --mysql-password='111111' --db-driver=mysql --mysql-socket=/data/mysqlsoft3307/mysql.sock run > result.log

参数说明:

--max-time=3600 指定测试时长为1小时

--mysql-db=test 指定测试的数据库名

[root@db-master sysbench]# cat  result.log

sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:

Number of threads: 16

Initializing random number generator from timer.

Doing OLTP test.

Running mixed OLTP test

Using Uniform distribution

Using "BEGIN" for starting transactions

Using auto_inc on the id column

Threads started!

Time limit exceeded, exiting...

(last message repeated 15 times)

Done.

OLTP test statistics:

queries performed:

read:                            137346874

write:                           49052449

other:                           19620980

total:                           206020303

 transactions:                        9810489 (2725.13 per sec.)

deadlocks:                           2      (0.00 per sec.)

read/write requests:                 186399323 (51777.50 per sec.)

other operations:                    19620980 (5450.26 per sec.)

Test execution summary:

total time:                          3600.0060s

total number of events:              9810489

total time taken by event execution: 57542.1464

per-request statistics:

min:                                  3.00ms

avg:                                  5.87ms

max:                                212.09ms

approx.  95 percentile:               8.44ms

Threads fairness:

events (avg/stddev):           613155.5625/1486.47

execution time (avg/stddev):   3596.3842/0.01

以上测试结果显示了很多操作的详细信息,transactions代表测试结果的评判标准即TPS,上述测试结果是 2725.13 per sec.

可以对数据库进行调优后,再使用sysbenchOLTP进行测试,看看TPS是不是会有所提高。

注意:sysbench的测试只是基准测试,并不能代表实际企业环境下的性能指标。

http://blog.chinaunix.net/uid-7589639-id-4126046.html

sysbench压力测试工具简介和使用(二)的更多相关文章

  1. 【转帖】sysbench压力测试工具简介

    sysbench压力测试工具简介 https://www.cnblogs.com/pdlife/p/6698957.html 一.sysbench压力测试工具简介: sysbench是一个开源的.模块 ...

  2. sysbench压力测试工具简介

    一.sysbench压力测试工具简介: sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据库的性能测试.目前支持的数据库有MySQL. ...

  3. sysbench压力测试工具简介和使用(一)

    sysbench压力测试工具安装和参数介绍 一.sysbench压力测试工具简介: sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据 ...

  4. sysbench压力测试工具安装和参数介绍

    一.sysbench压力测试工具简介: sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据库的性能测试.目前支持的数据库有MySQL. ...

  5. sysbench 压力测试工具

    一.sysbench压力测试工具简介: sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据库的性能测试.目前支持的数据库有MySQL. ...

  6. show processlist,sysbench压力测试工具

    processlist.sh 记录数据库的状态 #!/bin/bash while true do mysql -uroot -pwangxiaohu -e 'show processlist\G'| ...

  7. sysbench压力测试工具安装及使用

    使用sysbench指定连接的时候不需要写上mysql-socket参数 如果自己使用sysbench来测试mysql性能的话,建议使用源码编译比较好,版本为0.4版本. 步骤是: .yum inst ...

  8. Apache自带压力测试工具ab用法简介

    ab命令原理 ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL进行访问.它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx.lighthttp ...

  9. Linux系统性能测试工具(二)——内存压力测试工具memtester

    本文介绍关于Linux系统(适用于centos/ubuntu等)的内存压力测试工具-memtester.内存性能测试工具包括: 内存带宽测试工具——mbw: 内存压力测试工具——memtester: ...

随机推荐

  1. CSS外边距margin上下元素重叠

    CSS外边距margin上下元素重叠 转载:http://www.gaoyouyou.com/view/77.htm 两个或多个块级盒子的垂直相邻边界会重合.结果的边界宽度是相邻边界宽度中最大的值.如 ...

  2. C#基础——winform应用上传图片到SQLServer数据库

    前言 之前通过winform与SQL Server的交互一直局限于文本.数字等信息,都可以通过string的方式来传输,但是比如音乐.图片等特殊格式的文件要如何与SQL Server数据库进行交互呢? ...

  3. Egit Patch

    Git为我们提供了Patch功能,Patch中包含了源码更改的描述,能够应用于其他Eclipse工作空间或者Git仓库.也就是说,可以将当前提交导出至其他分支或者项目中.   举个例子,项目A.B中使 ...

  4. mysql my.cnf 配置详解

    #配置多实例声明[mysqld_multi]mysqld = /data/mysql_bin/bin/mysqld_safemysqladmin = /data/mysql_bin/bin/mysql ...

  5. svm损失函数

    作者:杜客链接:https://zhuanlan.zhihu.com/p/20945670来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. SVM的损失函数定义如下: 举 ...

  6. linux下oracle启动问题

    需要注意的 1.由root用户切换到su oracle 不能启动sqlplus 由root用户切换到su -oracle 可以启动sqlplus 由oracle用户直接登陆也可以启动sqlplus命令 ...

  7. php 添加钩子实例

    <?php/*定义钩子函数*/function add($hook,$actionFunc){    global $emHooks;    if(isset($emHooks[$hook])) ...

  8. hadoop作业缺少jar文件解决办法

    1 可以使用maven把插件带入 2 把jar放到集群的jar文件目录下,然后重启集群

  9. BZOJ4724 [POI2017]Podzielno

    4724: [POI2017]Podzielno Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 77  Solved: 37[Submit][Stat ...

  10. 关于url传参中文乱码问题

    之前都一直很不了解中文编码得问题,之前在做项目中没碰到那么头痛的问题.所以一直没有了解中文乱码的问题. 问题描述: 地址: http://localhost:8080/sun-government/c ...