欢迎光临
梦想从学习开始!

性能测试工具sysbench简介| 小熊测试

本文主要介绍 性能测试工具sysbench简介| 小熊测试,小熊希望对大家的学习或者工作具有一定的参考学习价值,在测试领域有所提升和发展。

  性能测试工具sysbench简介   出处信息   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   参数 以下是引用片段:

NinGoo:/u01/sysbench/bin>$sysbench

Missing required command argument.

Usage:

  sysbench [general-options]… –test= [test-options]… command General options:

  –num-threads=N            number of threads to use [1]

  –max-requests=N           limit for total number of requests [10000]

  –max-time=N               limit for total execution time in seconds [0]

  –forced-shutdown=STRING   amount of time to wait after –max-time before forcing shutdown [off]

  –thread-stack-size=SIZE   size of stack per thread [32K]

  –init-rng=[on|off]        initialize random number generator [off]

  –test=STRING              test to run

  –debug=[on|off]           print more debugging info [off]

  –validate=[on|off]        perform validation checks where possible [off]

  –help=[on|off]            print help and exit

  –version=[on|off]         print version and exit Compiled-in tests:

  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 Commands: prepare run cleanup help version

See ’sysbench –test= help’ for a list of options for each test.   CPU测试   sysbench采用寻找最大素数的方式来测试CPU的性能 以下是引用片段:

NinGoo:/u01/sysbench/bin>$sysbench –test=cpu –cpu-max-prime=2000 run

sysbench 0.4.12:  multi-threaded system evaluation benchmark Running the test with following options:

Number of threads: 1 Doing CPU performance benchmark Threads started!

Done. Maximum prime number checked in CPU test: 2000 Test execution summary:

    total time:                          2.3996s

    total number of events:              10000

    total time taken by event execution: 2.3917

    per-request statistics:

         min:                                  0.23ms

         avg:                                  0.24ms

         max:                                 27.44ms

         approx.  95 percentile:               0.24ms Threads fairness:

    events (avg/stddev):           10000.0000/0.00

    execution time (avg/stddev):   2.3917/0.00     线程测试

以下是引用片段:

NinGoo:/u01/sysbench/bin>$sysbench –test=threads –num-threads=64 –thread-yields=100

–thread-locks=2 run

sysbench 0.4.12:  multi-threaded system evaluation benchmark Running the test with following options:

Number of threads: 64 Doing thread subsystem performance test

Thread yields per test: 100 Locks used: 2

Threads started!

Done. Test execution summary:

    total time:                          4.3925s

    total number of events:              10000

    total time taken by event execution: 280.4418

    per-request statistics:

         min:                                  0.04ms

         avg:                                 28.04ms

         max:                                 72.81ms

         approx.  95 percentile:              52.29ms Threads fairness:

    events (avg/stddev):           156.2500/1.43

    execution time (avg/stddev):   4.3819/0.01   文件IO性能测试   首先生成需要的测试文件,文件总大小300M,16个并发线程,随机读写模式。执行完后会在当前目录下生成一堆小文件。

以下是引用片段:

NinGoo:/u01/sysbench/bin>$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…   执行测试

以下是引用片段:

NinGoo:/u01/sysbench/bin>$sysbench –test=fileio –num-threads=16 

–file-total-size=300M –file-test-mode=rndrw run

sysbench 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     清理现场

以下是引用片段:

NinGoo:/u01/sysbench/bin>$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…   Mutex测试

以下是引用片段:

NinGoo:/u01/sysbench/bin>$sysbench –test=mutex –num-threads=16

–mutex-num=1024 –mutex-locks=10000 –mutex-loops=5000 run

sysbench 0.4.12:  multi-threaded system evaluation benchmark Running the test with following options:

Number of threads: 16 Doing mutex performance test

Threads started!

Done. Test execution summary:

    total time:                          1.1561s

    total number of events:              16

    total time taken by event execution: 18.3831

    per-request statistics:

         min:                               1084.60ms

         avg:                               1148.94ms

         max:                               1153.52ms

         approx.  95 percentile:         10000000.00ms Threads fairness:

    events (avg/stddev):           1.0000/0.00

    execution time (avg/stddev):   1.1489/0.02   内存测试

以下是引用片段:

NinGoo:/u01/sysbench/bin>$sysbench –test=memory –num-threads=16

–memory-block-size=8192 –memory-total-size=1G run

sysbench 0.4.12:  multi-threaded system evaluation benchmark Running the test with following options:

Number of threads: 16 Doing memory operations speed test

Memory block size: 8K Memory transfer size: 1024M Memory operations type: write

Memory scope type: global

Threads started!

WARNING: Operation time (0.000000) is less than minimal counted value, counting as 1.000000

WARNING: Percentile statistics will be inaccurate

Done. Operations performed: 131072 (114162.68 ops/sec) 1024.00 MB transferred (891.90 MB/sec) Test execution summary:

    total time:                          1.1481s

    total number of events:              131072

    total time taken by event execution: 16.0448

    per-request statistics:

         min:                                  0.00ms

         avg:                                  0.12ms

         max:                                  3.60ms

         approx.  95 percentile:               0.01ms Threads fairness:

    events (avg/stddev):           8192.0000/192.89

    execution time (avg/stddev):   1.0028/0.00     MySQL数据库测试   首先需要创建默认的sbtest数据库,或者使用-mysql-db指定一个已经存在的数据库   生成测试数据,引擎为myisam,表大小为1000000条记录

以下是引用片段:

NinGoo:/u01/sysbench/bin>$sysbench –test=oltp –mysql-table-engine=myisam –oltp-table-size=1000000

–mysql-user=root –mysql-socket=/opt/mysql/run/mysql.sock prepare

sysbench 0.4.12:  multi-threaded system evaluation benchmark No DB drivers specified, using mysql

Creating table ’sbtest’…

Creating 1000000 records in table ’sbtest’… root@sbtest 11:42:18>desc sbtest.sbtest;

+——-+——————+——+—–+———+—————-+

| Field | Type             | Null | Key | Default | Extra          |

+——-+——————+——+—–+———+—————-+

| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |

| k     | int(10) unsigned | NO   | MUL | 0       |                |

| c     | char(120)        | NO   |     |         |                |

| pad   | char(60)         | NO   |     |         |                |

+——-+——————+——+—–+———+—————-+   执行测试

以下是引用片段:

NinGoo:/u01/sysbench/bin>$sysbench –test=oltp –mysql-table-engine=myisam –oltp-table-size=1000000

–mysql-user=root –mysql-socket=/opt/mysql/run/mysql.sock run

sysbench 0.4.12:  multi-threaded system evaluation benchmark No DB drivers specified, using mysql

Running the test with following options:

Number of threads: 1 Doing OLTP test.

Running mixed OLTP test

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

Using "LOCK TABLES WRITE" for starting transactions

Using auto_inc on the id column

Maximum number of requests for OLTP test is limited to 10000

Threads started!

Done. OLTP test statistics:

    queries performed:

        read:                            140000

        write:                           50000

        other:                           20000

        total:                           210000

    transactions:                        10000  (336.64 per sec.)

    deadlocks:                           0      (0.00 per sec.)

    read/write requests:                 190000 (6396.11 per sec.)

    other operations:                    20000  (673.27 per sec.) Test execution summary:

    total time:                          29.7056s

    total number of events:              10000

    total time taken by event execution: 29.6301

    per-request statistics:

         min:                                  2.27ms

         avg:                                  2.96ms

         max:                                 43.88ms

         approx.  95 percentile:               3.36ms Threads fairness:

    events (avg/stddev):           10000.0000/0.00

    execution time (avg/stddev):   29.6301/0.00     清理现场

以下是引用片段:

NinGoo:/u01/sysbench/bin>$sysbench –test=oltp –mysql-table-engine=myisam –oltp-table-size=1000000

–mysql-user=root –mysql-socket=/opt/mysql/run/mysql.sock cleanup

sysbench 0.4.12:  multi-threaded system evaluation benchmark No DB drivers specified, using mysql

Dropping table ’sbtest’…

Done.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小熊分享邦(www.xxfxb.com),希望大家能坚持软件测试之路,谢谢。

赞(0) 打赏
未经允许不得转载:小熊分享邦 » 性能测试工具sysbench简介| 小熊测试

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏