+ 首页>>工具>>内容

工具性能测试工具—sysbench58次围观

sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。数据库目前支持MySQL/Oracle/PostgreSQL。本文只是简单演示一下几种测试的用法,后续准备利用sysbench来对MySQL进行一系列的测试。具体的一些参数设置,需要根据不同的测试要求来进行调整。

下载地址

http://sourceforge.net/projects/sysbench/

编译安装

默认支持MySQL,如果需要测试Oracle/PostgreSQL,则在configure时需要加上–with-oracle或者–with-pgsql参数

./configure --prefix=/u01/sysbench --with-mysql-includes=/opt/mysql/include/mysql --with-mysql-libs=/opt/mysql/lib/mysql

make

make install

参数

./sysbench

#测试用例:
sysbench [general-options]… –test= [test-options]… command

#通用选项:
–-num-threads=N           创建测试线程的数目。默认为1.
–-max-requests=N          请求的最大数目。默认为10000,0代表不限制。
–-max-time=N              最大执行时间,单位是s。默认是0,不限制。
–-forced-shutdown=STRING  超过max-time强制中断。默认是off。]
–-thread-stack-size=SIZE  每个线程的堆栈大小。默认是32K。
-–init-rng=[on|off]       在测试开始时是否初始化随机数发生器。默认是off。
-–test=STRING             指定测试项目名称。
-–debug=[on|off]          是否显示更多的调试信息。默认是off。
-–validate=[on|off]       在可能情况下执行验证检查。默认是off。

#测试项目:
fileio – File I/O test
cpu – CPU performance test
memory – Memory functions speed test
threads – Threads subsystem performance test
mutex – Mutex performance test(互斥性能测试)
oltp – OLTP test

#指令: prepare(测试前准备工作) run(正式测试) cleanup(测试后删掉测试数据) help version
#See ‘sysbench –test= help’ for a list of options for each test. 查看每个测试项目的更多选项列表。

文件I/O性能测试

先可以查看帮助:

 ./sysbench –-test=fileio help

–-file-num=N   创建测试文件的数量。默认是128
-–file-block-size=N         测试时文件块的大小。默认是16384(16K)
-–file-total-size=SIZE      测试文件的总大小。默认是2G
–-file-test-mode=STRING     文件测试模式{seqwr(顺序写), seqrewr(顺序读写), seqrd(顺序读), rndrd(随机读), rndwr(随机写), rndrw(随机读写)}
–-file-io-mode=STRING       文件操作模式{sync(同步),async(异步),fastmmap(快速map映射),slowmmap(慢map映射)}。默认是sync
-–file-extra-flags=STRING   使用额外的标志来打开文件{sync,dsync,direct} 。默认为空
-–file-fsync-freq=N         执行fsync()的频率。(0 – 不使用fsync())。默认是100
-–file-fsync-all=[on|off]   每执行完一次写操作就执行一次fsync。默认是off
-–file-fsync-end=[on|off]   在测试结束时才执行fsync。默认是on
-–file-fsync-mode=STRING    使用哪种方法进行同步{fsync, fdatasync}。默认是fsync
-–file-merged-requests=N    如果可以,合并最多的IO请求数(0 – 表示不合并)。默认是0
-–file-rw-ratio=N           测试时的读写比例。默认是1.5

首先生成需要的测试文件,文件总大小300M,16个并发线程,随机读写模式。执行完后会在当前目录下生成一堆小文件。

sysbench --test=fileio --num-threads=16 --file-total-size=300M --file-test-mode=rndrw prepare

sysbench 0.4.12:  multi-threaded system evaluation benchmark

128 files, 2400Kb each, 300Mb total
Creating files for the test...

执行测试:

sysbench --test=fileio --num-threads=16 --file-total-size=300M --file-test-mode=rndrw run

ysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 16

Extra file open flags: 0
128 files, 2.3438Mb each
300Mb total file size
Block size 16Kb
Number of random requests for random IO: 10000
Read/Write ratio for combined random IO test: 1.50
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:  5996 Read, 4004 Write, 12800 Other = 22800 Total
Read 93.688Mb  Written 62.562Mb  Total transferred 156.25Mb  (26.713Mb/sec)
1709.66 Requests/sec executed

Test execution summary:
    total time:                          5.8491s
    total number of events:              10000
    total time taken by event execution: 12.5045
    per-request statistics:
         min:                                  0.01ms
         avg:                                  1.25ms
         max:                                373.28ms
         approx.  95 percentile:               0.03ms

Threads fairness:
    events (avg/stddev):           625.0000/109.60
    execution time (avg/stddev):   0.7815/0.29

清理现场:

sysbench --test=fileio --num-threads=16 --file-total-size=300M --file-test-mode=rndrw cleanup
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Removing test files...

CPU测试

先看帮助:

sysbench –-test=cpu help

–cpu-max-prime=N  最大质数发生器数量。默认是10000

+ 猜你喜欢...

===== 关于 DiggerPlus =====
DiggerPlus是国内新锐测试人垂直内容博客,专注于挖掘测试工具,普及测试技术,专注于测试人能力提升,博客上线后就受到广大测试人的热烈追捧;此外,DiggerPlus深度整合评测资源,揭秘科技数据和真相,让读者更懂科技,更好地把玩科技。 我们始终保持"独立,客观,严谨,优秀"的优良作风,努力为读者带来源源不断的优质内容。想访问更多酷毙的测试人网站?赶紧来DiggerPlus测试人网址导航看看吧!

===== DiggerPlus Team =====
DiggerPlus Team是DiggerPlus官方发起的团队,这是一群热爱科技,热爱测试,喜欢深度挖掘的热血测试人,他们是评测师,测试专家。 我们欢迎优秀的测试人加入DiggerPlus Team。 加入DiggerPlus,可以成为我们的认证Dper,认证Dper拥有DiggerPlus独一无二的专栏并得到个人展示。

===== DiggerPlus 官方读者群 =====
DiggerPlus官方读者群(一)

+ 关于本文作者

我也很想让世界变得更美好,可是上帝却不开放源代码。

的专栏 | 专栏作者 | 访问Kiven的主页

+ 发表评论

Copyright © 2014 DiggerPlus. 85 queries in 4.439 seconds.
使用合作网站账号快速登录,更多精彩等着您: 开源中国