sysbench安装及做性能测试

一、安装过程:

先下载依赖包
yum install automake autoconf -y

运行./configure && make 命令,可能有以下的报错
../libtool: line 5172: : command not found
修改configure.ac文件

将LIBTOOL注释,并增加AC_PROG_RANLIB

修改之后运行如下命令
./autogen.sh && ./configure && make
完成之后,进入sysbench文件夹,可以看到sysbench命令已经编译完成。

二、测试过程:

1、cpu性能测试:

[[email protected] ~]# sysbench --test=cpu --cpu-max-prime=20000 run



sysbench 0.5:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1
Random number generator seed is 0 and will be ignored

Primer numbers limit: 20000

Threads started!

Test execution summary:
    total time:                          25.0785s
    total number of events:              10000
    total time taken by event execution: 25.0757s
    per-request statistics:
         min:                                  2.28ms
         avg:                                  2.51ms
         max:                                  6.55ms
         approx.  95 percentile:               2.89ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   25.0757/0.00

CPU性能测试有一个需要注意的地方,上面的测试只使用了一个线程,如果在两个cpu processor不同的电脑上做比较,这是不公平的。公平的做法是指定合理的线程数,如下所示:

[[email protected] lib]# sysbench --test=cpu --num-threads=`grep "processor" /proc/cpuinfo | wc -l` --cpu-max-prime=200000 run

[[email protected] data]# top

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

10029 root      20   0 18172 1220  884 S 99.9  0.1   7:49.94 sysbench

1 root      20   0 19232 1384 1088 S  0.0  0.1   0:01.27 init

2 root      20   0     0    0    0 S  0.0  0.0   0:00.01 kthreadd

3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0

4 root      20   0     0    0    0 S  0.0  0.0   0:02.08 ksoftirqd/0

5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/0

[[email protected] lib]# sysbench --test=cpu --num-threads=`grep "processor" /proc/cpuinfo | wc -l` --cpu-max-prime=200000 run
sysbench 0.5:  multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 1
Random number generator seed is 0 and will be ignored
Primer numbers limit: 200000
Threads started!
Test execution summary:
    total time:                          601.4066s
    total number of events:              10000
    total time taken by event execution: 601.3990s
    per-request statistics:
         min:                                 57.77ms
         avg:                                 60.14ms
         max:                                103.32ms
         approx.  95 percentile:              63.47ms
Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   601.3990/0.00



2、线程测试:

[[email protected] ~]# sysbench --test=threads --number-threads=64 --threads-yields=100 --threads-locks=2 run



sysbench 0.5:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1
Random number generator seed is 0 and will be ignored

Threads started!

Test execution summary:
    total time:                          2.1750s
    total number of events:              10000
    total time taken by event execution: 2.1741s
    per-request statistics:
         min:                                  0.17ms
         avg:                                  0.22ms
         max:                                  1.52ms
         approx.  95 percentile:               0.29ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   2.1741/0.00

[[email protected] ~]#



3、磁盘IO性能测试:



[[email protected] ~]# sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw prepare
sysbench 0.5:  multi-threaded system evaluation benchmark

[[email protected] ~]# sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw run    
sysbench 0.5:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 16
Random number generator seed is 0 and will be ignored

Threads started!

Operations performed:  6005 reads, 3995 writes, 12800 Other = 22800 Total
Read 93.828Mb  Written 62.422Mb  Total transferred 156.25Mb  (2.9214Mb/sec)
  186.97 Requests/sec executed

Test execution summary:
    total time:                          53.4846s
    total number of events:              10000
    total time taken by event execution: 546.8636s
    per-request statistics:
         min:                                  0.00ms
         avg:                                 54.69ms
         max:                                748.10ms
         approx.  95 percentile:             190.17ms

Threads fairness:
    events (avg/stddev):           625.0000/31.96
    execution time (avg/stddev):   34.1790/0.91

[[email protected] ~]# sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw cleanup
sysbench 0.5:  multi-threaded system evaluation benchmark

[[email protected] ~]#

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



4、内存测试:

[[email protected] ~]# sysbench --test=memory --memory-block-size=8k --memory-total-size=4G run



sysbench 0.5:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1
Random number generator seed is 0 and will be ignored

Threads started!

Operations performed: 524288 (1031670.94 ops/sec)

4096.00 MB transferred (8059.93 MB/sec)

Test execution summary:
    total time:                          0.5082s
    total number of events:              524288
    total time taken by event execution: 0.4682s
    per-request statistics:
         min:                                  0.00ms
         avg:                                  0.00ms
         max:                                  0.47ms
         approx.  95 percentile:               0.00ms

Threads fairness:
    events (avg/stddev):           524288.0000/0.00
    execution time (avg/stddev):   0.4682/0.00

[[email protected] ~]#



5、OLTP测试:

[[email protected] ~]# sysbench --test=oltp --mysql-table-engine=myisam --loltp-table-size=1000000 --mysql-socket=/tmp/mysql.sock --mysql-user=root --mysql-host=localhost --mysql-password=dongbo prepare
sysbench 0.5:  multi-threaded system evaluation benchmark

PANIC: unprotected error in call to Lua API (cannot open oltp: No such file or directory)
[[email protected] ~]#

此步骤测试失败:0.5版本所有OLTP都是通过lua脚本进行测试的;

测试过程:



[[email protected] sysbench]# ./sysbench  --test=./tests/db/oltp.lua  --debug=yes --mysql-host=localhost --mysql-socket=/tmp/mysql.sock --mysql-db=test --mysql-user=root --mysql-password=dongbo --mysql-table-engine=innodb  --max-requests=0 --max-time=60 --num-threads=16 --oltp-table-size=100000 --report-interval=10 prepare

sysbench 0.5:  multi-threaded system evaluation benchmark

Creating table ‘sbtest1‘...
Inserting 100000 records into ‘sbtest1‘
[[email protected] sysbench]# ./sysbench  --test=./tests/db/oltp.lua  --debug=yes --mysql-host=localhost --mysql-socket=/tmp/mysql.sock --mysql-db=test --mysql-user=root --mysql-password=dongbo --mysql-table-engine=innodb  --max-requests=0 --max-time=60 --num-threads=16 --oltp-table-size=100000 --report-interval=10 run

sysbench 0.5:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 16
Report intermediate results every 10 second(s)
Random number generator seed is 0 and will be ignored
Threads started!

[  10s] threads: 16, tps: 266.12, reads/s: 3747.83, writes/s: 1067.69
[  20s] threads: 16, tps: 261.51, reads/s: 3660.58, writes/s: 1046.42
[  30s] threads: 16, tps: 253.20, reads/s: 3545.64, writes/s: 1015.61
[  40s] threads: 16, tps: 260.89, reads/s: 3647.35, writes/s: 1041.16
[  50s] threads: 16, tps: 229.60, reads/s: 3219.47, writes/s: 920.79
[  60s] threads: 16, tps: 266.11, reads/s: 3725.40, writes/s: 1059.66
OLTP test statistics:
    queries performed:
        read:                            215474
        write:                           61564
        other:                           30782
        total:                           307820
    transactions:                        15391  (256.46 per sec.)
    deadlocks:                           0      (0.00 per sec.)
    read/write requests:                 277038 (4616.26 per sec.)
    other operations:                    30782  (512.92 per sec.)

Test execution summary:
    total time:                          60.0136s
    total number of events:              15391
    total time taken by event execution: 959.8978s
    per-request statistics:
         min:                                  8.79ms
         avg:                                 62.37ms
         max:                                727.83ms
         approx.  95 percentile:              99.97ms

Threads fairness:
    events (avg/stddev):           961.9375/8.31
    execution time (avg/stddev):   59.9936/0.00

[[email protected] sysbench]# ./sysbench  --test=./tests/db/oltp.lua  --debug=yes --mysql-host=localhost --mysql-socket=/tmp/mysql.sock --mysql-db=test --mysql-user=root --mysql-password=dongbo --mysql-table-engine=innodb  --max-requests=0 --max-time=60 --num-threads=16 --oltp-table-size=100000 --report-interval=10 cleanup

sysbench 0.5:  multi-threaded system evaluation benchmark

Dropping table ‘sbtest1‘...
[[email protected] sysbench]# 
[[email protected] sysbench]#



6、互斥锁(mutex)



[[email protected] data]# sysbench --test=mutex  --num-threads=16 --mutex-num=2048 --mutex-locks=100000000 --mutex-loops=5000 run
sysbench 0.5:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 16
Random number generator seed is 0 and will be ignored
Threads started!

Test execution summary:
    total time:                          67.8070s
    total number of events:              16
    total time taken by event execution: 1081.9077s
    per-request statistics:
         min:                              67240.36ms
         avg:                              67619.23ms
         max:                              67802.58ms
         approx.  95 percentile:         10000000.00ms

Threads fairness:
    events (avg/stddev):           1.0000/0.00
    execution time (avg/stddev):   67.6192/0.17

[[email protected] data]#



本文出自 “MySQL_db” 博客,请务必保留此出处http://mysqldb.blog.51cto.com/10264653/1694303

时间: 2024-10-29 10:46:19

sysbench安装及做性能测试的相关文章

sysbench的安装和做性能测试

sysbench的安装和做性能测试 http://imysql.cn/node/312 sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况. 关于这个项目的详细介绍请看:http://sysbench.sourceforge.net. 它主要包括以下几种方式的测试: 1.cpu性能 2.磁盘io性能 3.调度程序性能 4.内存分配及传输速度 5.POSIX线程性能 6.数据库性能(OLTP基准测试) 目前sysbench主要支持 MyS

【转帖】sysbench的安装和做性能测试

iMySQL | 老叶茶馆 sysbench的安装和做性能测试 http://imysql.cn/node/312 我仿照这个学的 但是 需要用更新的版本才可以. By yejr on 14 六月 2007 作/译者:叶金荣(imysql#imysql.com>),来源:http://imysql.com,欢迎转载. sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况.关于这个项目的详细介绍请看:http://sysbench.sour

sysbench-0.5的安装和做性能测试

sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况. 主要包括以下几种方式的测试:1.cpu性能2.磁盘io性能3.调度程序性能4.内存分配及传输速度5.POSIX线程性能6.数据库性能(OLTP基准测试) 一.安装: tar -zxvf sysbench-0.5.tar.gz  -C /mnt cd /mnt/sysbench-0.5 chmod +x autogen.sh [[email protected] sysbench-0.

Mysql多线程性能测试工具sysbench 安装、使用和测试

From:http://www.cnblogs.com/zhoujinyi/archive/2013/04/19/3029134.html 摘要:      sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据库的性能测试.目前支持的数据库有MySQL.Oracle和PostgreSQL.当前功能允许测试的系统参数有: file I/O performance (文件I / O性能) scheduler performance (调

【转】在做性能测试之前需要知道什么

最近群里来了很多新朋友,大都是新做测试或准备做测试工作的,见好多新来上来就问关于LoadRunner的使用上的问题.对性能测试的理解也不是太清楚.公司说让他们对系统做个性能测试,他们听说LoadRunner是做性能测试的,在网上找了点了LoadRunner的使用说明就开始对系统下刀了.对于一些大公司的专业性能测试人员来说,这个很可笑,但这是种情况是存在的,我当初也到公司时也这么干的. 那时还真把性能测报告给整出来了,现在看来那报告没有任何意义.虽然,虽然对现在的我来说性能测试也只是只懂皮毛.但还

怎么做性能测试--响应时间

做性能测试先要懂性能,响应时间(response time)作为性能测试过程中两大重要指标之一是我们必须关注的. 从用户角度来说,用户最讨厌等待.在大量的处理环境中,超过3秒以上的响应时间将会严重影响工作效率.然而最终用户的感受不仅仅是绝对时间问题,他们对于响应时间的期望是参照以往的经验,而这种期望是相对于他们使用该应用的基准性能.如果使用该应用的当前感受和以往的经验有很大的差别时,抱怨以及需要支持的电话就会成倍地增加.响应时间对于用户来说既有客观成分,也有主观成分. 例(1):对于小说网站来说

如何做性能测试

偶然间看到了阿里中间件Dubbo的性能测试报告,我觉得这份性能测试报告让人觉得做这性能测试的人根本不懂性能测试,我觉得这份报告会把大众带沟里去,所以,想写这篇文章,做一点科普. 首先,这份测试报告里的主要问题如下: 1)用的全是平均值.老实说,平均值是非常不靠谱的. 2)响应时间没有和吞吐量TPS/QPS挂钩.而只是测试了低速率的情况,这是完全错误的. 3)响应时间和吞吐量没有和成功率挂钩. 为什么平均值不靠谱 关于平均值为什么不靠谱,我相信大家读新闻的时候经常可以看到,平均工资,平均房价,平均

看《做性能测试需要知道些什么》

看<做性能测试需要知道些什么>需理解最佳用户数和最大用户数开始性能测试前,需要知道:1.客户的要求 如系统同时满足**用户登录,平均每个用户登录时间不超过**秒2.目前系统的性能 求最大用户数和最佳用户数,系统分析并找到压力点3.系统瓶颈 分析可能对系统造成瓶颈的逻辑业务4.长时间压力下性能状况(强度测试)->内存溢出 测试环境1.硬件 服务器.CPU.内存2.软件 前端.中间件.服务器3.网络环境 寻找系统的压力点 做性能测试之后需要知道些什么->获取"有效的"

MySQL基准测试工具sysbench安装

sysbench简介 该工具目前有三个版本0.4, 0.5和1.0, 版本间语法和参数上有些许差别. 本文为最新版本1.0.9, 其是基于LuaJIT的多线程基准测试工具, 常用于数据库基准测试; 另, 还可对操作系统关键子系统进行测试. 除內建测试, 还可编写Lua脚本, 实现特定业务的测试. sysbench下载 链接, https://github.com/akopytov/sysbench 安装依赖环境 1. yum -y install make automake libtool pk