mysql oracle 性能测试工具_MySQL性能测试工具sysbench

原文装载他人的,红色部分为我自己加的

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

下载

编译安装

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

1

./configure --prefix=/u01/sysbench \

2

--with-mysql-includes=/opt/mysql/include/mysql \

3

--with-mysql-libs=/opt/mysql/lib/mysql

4

5

make && make install

本人安装过程中遇到的问题:

../libtool: line 841: X--tag=CC: command not found

../libtool: line 874: libtool: ignoring unknown tag : command not found

../libtool: line 841: X--mode=link: command not found

../libtool: line 1007: *** Warning: inferring the mode of operation is deprecated.: command not found

../libtool: line 1008: *** Future versions of Libtool will require --mode=MODE be specified.: command not found

以上错误是因为执行libtool版本太低导致的,于是我更新了libtool最新版本2.4.2,然后再次运行make还是不行,最后发现在sysbench的编译目录有一个在./configure阶段自动生成的libtool,查看了一下工具发现是1.5的,可能版本太低了,于是就ln -s 我安装的到sysbench目录,然后重新./configure && make 结果还是提示上面的错误信息,查了一下sysbench目录的libtool版本发现该版本有还原到1.5版本了,后台发现这个libtool实在./configure阶段自动生成,于是我就先运行./configure  之后删除sysbench目录生成的低版本 libtool,然后在运行ln -s  链接一个最新版的libtool放在sysbench里面,然后make && make install  成功了!!!!!

参数

01

NinGoo:/u01/sysbench/bin>$sysbench

02

Missing required command argument.

03

Usage:

04

sysbench [general-options]... --test= [test-options]... command

05

06

General options:

07

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

08

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

09

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

10

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

11

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

12

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

13

--test=STRING              test to run

14

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

15

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

16

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

17

--version=[on|off]         print version and exit

18

19

Compiled-in tests:

20

fileio - File I/O test

21

cpu - CPU performance test

22

memory - Memory functions speed test

23

threads - Threads subsystem performance test

24

mutex - Mutex performance test

25

oltp - OLTP test

26

27

Commands: prepare run cleanup help version

28

See 'sysbench --test= help' for a list of options for each test.

CPU测试

sysbench采用寻找最大素数的方式来测试CPU的性能

01

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

02

sysbench 0.4.12:  multi-threaded system evaluation benchmark

03

04

Running the test with following options:

05

Number of threads: 1

06

07

Doing CPU performance benchmark

08

09

Threads started!

10

Done.

11

12

Maximum prime number checked in CPU test: 2000

13

14

Test execution summary:

15

total time:                          2.3996s

16

total number of events:              10000

17

total time taken by event execution: 2.3917

18

per-request statistics:

19

min:                                  0.23ms

20

avg:                                  0.24ms

21

max:                                 27.44ms

22

approx.  95 percentile:               0.24ms

23

24

Threads fairness:

25

events (avg/stddev):           10000.0000/0.00

26

execution time (avg/stddev):   2.3917/0.00

线程测试

01

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

02

--thread-locks=2 run

03

sysbench 0.4.12:  multi-threaded system evaluation benchmark

04

05

Running the test with following options:

06

Number of threads: 64

07

08

Doing thread subsystem performance test

09

Thread yields per test: 100 Locks used: 2

10

Threads started!

11

Done.

12

13

Test execution summary:

14

total time:                          4.3925s

15

total number of events:              10000

16

total time taken by event execution: 280.4418

17

per-request statistics:

18

min:                                  0.04ms

19

avg:                                 28.04ms

20

max:                                 72.81ms

21

approx.  95 percentile:              52.29ms

22

23

Threads fairness:

24

events (avg/stddev):           156.2500/1.43

25

execution time (avg/stddev):   4.3819/0.01

文件IO性能测试

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

1

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

2

--file-total-size=300M --file-test-mode=rndrw prepare

3

sysbench 0.4.12:  multi-threaded system evaluation benchmark

4

5

128 files, 2400Kb each, 300Mb total

6

Creating files for the test...

执行测试

01

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

02

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

03

sysbench 0.4.12:  multi-threaded system evaluation benchmark

04

05

Running the test with following options:

06

Number of threads: 16

07

08

Extra file open flags: 0

09

128 files, 2.3438Mb each

10

300Mb total file size

11

Block size 16Kb

12

Number of random requests for random IO: 10000

13

Read/Write ratio for combined random IO test: 1.50

14

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

15

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

16

Using synchronous I/O mode

17

Doing random r/w test

18

Threads started!

19

Done.

20

21

Operations performed:  5996 Read, 4004 Write, 12800 Other = 22800 Total

22

Read 93.688Mb  Written 62.562Mb  Total transferred 156.25Mb  (26.713Mb/sec)

23

1709.66 Requests/sec executed

24

25

Test execution summary:

26

total time:                          5.8491s

27

total number of events:              10000

28

total time taken by event execution: 12.5045

29

per-request statistics:

30

min:                                  0.01ms

31

avg:                                  1.25ms

32

max:                                373.28ms

33

approx.  95 percentile:               0.03ms

34

35

Threads fairness:

36

events (avg/stddev):           625.0000/109.60

37

execution time (avg/stddev):   0.7815/0.29

清理现场

1

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

2

--file-total-size=300M --file-test-mode=rndrw cleanup

3

sysbench 0.4.12:  multi-threaded system evaluation benchmark

4

5

Removing test files...

Mutex测试

01

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

02

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

03

sysbench 0.4.12:  multi-threaded system evaluation benchmark

04

05

Running the test with following options:

06

Number of threads: 16

07

08

Doing mutex performance test

09

Threads started!

10

Done.

11

12

Test execution summary:

13

total time:                          1.1561s

14

total number of events:              16

15

total time taken by event execution: 18.3831

16

per-request statistics:

17

min:                               1084.60ms

18

avg:                               1148.94ms

19

max:                               1153.52ms

20

approx.  95 percentile:         10000000.00ms

21

22

Threads fairness:

23

events (avg/stddev):           1.0000/0.00

24

execution time (avg/stddev):   1.1489/0.02

内存测试

01

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

02

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

03

sysbench 0.4.12:  multi-threaded system evaluation benchmark

04

05

Running the test with following options:

06

Number of threads: 16

07

08

Doing memory operations speed test

09

Memory block size: 8K

10

11

Memory transfer size: 1024M

12

13

Memory operations type: write

14

Memory scope type: global

15

Threads started!

16

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

17

WARNING: Percentile statistics will be inaccurate

18

Done.

19

20

Operations performed: 131072 (114162.68 ops/sec)

21

22

1024.00 MB transferred (891.90 MB/sec)

23

24

Test execution summary:

25

total time:                          1.1481s

26

total number of events:              131072

27

total time taken by event execution: 16.0448

28

per-request statistics:

29

min:                                  0.00ms

30

avg:                                  0.12ms

31

max:                                  3.60ms

32

approx.  95 percentile:               0.01ms

33

34

Threads fairness:

35

events (avg/stddev):           8192.0000/192.89

36

execution time (avg/stddev):   1.0028/0.00

MySQL数据库测试

首先需要创建默认的sbtest数据库,或者使用–mysql-db指定一个已经存在的数据库

生成测试数据,引擎为myisam,表大小为1000000条记录

01

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

02

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

03

sysbench 0.4.12:  multi-threaded system evaluation benchmark

04

05

No DB drivers specified, using mysql

06

Creating table 'sbtest'...

07

Creating 1000000 records in table 'sbtest'...

08

09

root@sbtest 11:42:18>desc sbtest.sbtest;

10

+-------+------------------+------+-----+---------+----------------+

11

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

12

+-------+------------------+------+-----+---------+----------------+

13

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

14

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

15

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

16

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

17

+-------+------------------+------+-----+---------+----------------+

执行测试

01

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

02

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

03

sysbench 0.4.12:  multi-threaded system evaluation benchmark

04

05

No DB drivers specified, using mysql

06

Running the test with following options:

07

Number of threads: 1

08

09

Doing OLTP test.

10

Running mixed OLTP test

11

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

12

Using "LOCK TABLES WRITE" for starting transactions

13

Using auto_inc on the id column

14

Maximum number of requests for OLTP test is limited to 10000

15

Threads started!

16

Done.

17

18

OLTP test statistics:

19

queries performed:

20

read:                            140000

21

write:                           50000

22

other:                           20000

23

total:                           210000

24

transactions:                        10000  (336.64 per sec.)

25

deadlocks:                           0      (0.00 per sec.)

26

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

27

other operations:                    20000  (673.27 per sec.)

28

29

Test execution summary:

30

total time:                          29.7056s

31

total number of events:              10000

32

total time taken by event execution: 29.6301

33

per-request statistics:

34

min:                                  2.27ms

35

avg:                                  2.96ms

36

max:                                 43.88ms

37

approx.  95 percentile:               3.36ms

38

39

Threads fairness:

40

events (avg/stddev):           10000.0000/0.00

41

execution time (avg/stddev):   29.6301/0.00

清理现场

1

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

2

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

3

sysbench 0.4.12:  multi-threaded system evaluation benchmark

4

5

No DB drivers specified, using mysql

6

Dropping table 'sbtest'...

7

Done.

Oracle SQL Handler,是专为 Oracle 数据库开发人员及操作人员精心打造的一款 Oracle 客户端工具: 超智能的SQL编辑器;超方便的表格操作(可以通过修改表格的单元格数据去更新数据 库表);多种格式的数据导出包括 XLS、CSV、INSERT SQL、HTML、XML;中英文双语界面并 能切换;监控批量SQL语句的运行(在运行中可暂停、更正);不需要安装 Oracle 客户端 ;占用系统资源极少;能运行于所有的主流平台包括 Windows、Linux 、Unix 及 Mac OS; 多线程多连接。所有这些功能特性在同类工具中表现突出,甚至是本工具独有的! 还有,它能快速显示SQL的解释计划;能运行/调试 PL/SQL 语句;精确的错误定位;高 效的语句块操作;SQL格式美化;连接配置简单;自动重新连接;个性化界面设置;界面简 洁清爽;操作简便;功能实用且全面! 总之,本工具确实 “小巧、实用、方便、高效”,正是 Oralce 数据库开发人员及操作 人员所需要的强有力的工具! 是国产的,很少见吧,用过的人都说非常方便非常实用而且很强大,不逊色于同类的收费软件! 免费的产品, 强大的品质, 您还等什么! 下载网址有: http://www.onlinedown.net/softdown/91179_2.htm http://www.duote.com/soft/17069.html#downsite (请将下载的 ZIP 文件解压到一目录,鼠标双击批处理文件 start.bat 即可启动运行)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值