sysbench工具手把手安装配置及使用…
2016-11-09 17:19
429 查看
sysbench是一款测试工具
主要包括以下几种方式的测试:
1、cpu性能
2、磁盘io性能
3、调度程式性能
4、内存分配及传输速度
5、POSIX线程性能
6、数据库性能(OLTP基准测试)现在sysbench主要支持 MySQL,pgsql,oracle 这3种数据库
本文以实际的安装和简单的测试以做抛砖引玉,希望在泰岳的性能测试中发挥应有的作用。
一:安装mysql
先安装
MySQL-client-5.5.32-1.rhel5.i386.rpm
MySQL-server-5.5.32-1.rhel5.i386.rpm
下面三个用于性能测试用
MySQL-shared-5.5.32-1.rhel5.i386.rpm
MySQL-devel-5.5.32-1.rhel5.i386.rpm
MySQL-shared-compat-5.5.32-1.rhel5.i386.rpm
二:安装sysbench
安装sysbench因为是源码需要编译及需要其他的包或工具,较为繁琐,现做具体介绍
1.下载sysbench
sysbench-0.4.12.tar.gz,并上传到/usr/local目录下
[root@localhost local]# ls
bin
etc
man
sbin
cmake-2.8.10.2
games
mysql-5.6.11.tar.gz
share
cmake-2.8.10.2.tar.gz
include
MySQL-client-5.5.32-1.rhel5.i386.rpm
src
config
lib
MySQL-devel-5.5.32-1.rhel5.i386.rpm
config.log
libexec
MySQL-server-5.5.32-1.rhel5.i386.rpm
sysbench-0.4.12.tar.gz
config.status
libtool
MySQL-shared-5.5.32-1.rhel5.i386.rpm
doc
Makefile
MySQL-shared-compat-5.5.32-1.rhel5.i386.rpm
2.解压 tax -zxvf
sysbench-0.4.12.tar.gz
[root@localhost local]# ls
bin
etc
man
sbin
cmake-2.8.10.2
games
mysql-5.6.11.tar.gz
share
cmake-2.8.10.2.tar.gz
include
MySQL-client-5.5.32-1.rhel5.i386.rpm
src
config
lib
MySQL-devel-5.5.32-1.rhel5.i386.rpm
sysbench-0.4.12
config.log
libexec
MySQL-server-5.5.32-1.rhel5.i386.rpm
sysbench-0.4.12.tar.gz
config.status
libtool
MySQL-shared-5.5.32-1.rhel5.i386.rpm
doc
Makefile
MySQL-shared-compat-5.5.32-1.rhel5.i386.rpm
3.编译,安装
/usr/local/sysbench-0.4.12/configure
--with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib
&& make
&& make install
....
test -z "/usr/local/share/doc/sysbench" || mkdir -p --
"/usr/local/share/doc/sysbench"
/usr/bin/install -c -m 644 'manual.html'
'/usr/local/share/doc/sysbench/manual.html'
make[3]: Leaving directory `/usr/local/sysbench-0.4.12/doc'
make[2]: Leaving directory `/usr/local/sysbench-0.4.12/doc'
make[1]: Leaving directory `/usr/local/sysbench-0.4.12/doc'
Making install in sysbench
make[1]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench'
Making install in drivers
make[2]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/drivers'
Making install in mysql
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/drivers/mysql'
make[4]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/drivers/mysql'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/drivers/mysql'
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/drivers/mysql'
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/drivers'
make[4]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/drivers'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/drivers'
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/drivers'
make[2]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/drivers'
Making install in tests
make[2]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests'
Making install in cpu
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/cpu'
make[4]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/cpu'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/cpu'
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/cpu'
Making install in fileio
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/fileio'
make[4]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/fileio'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/fileio'
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/fileio'
Making install in memory
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/memory'
make[4]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/memory'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/memory'
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/memory'
Making install in threads
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/threads'
make[4]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/threads'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/threads'
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/threads'
Making install in mutex
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/mutex'
make[4]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/mutex'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/mutex'
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/mutex'
Making install in oltp
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/oltp'
make[4]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/oltp'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/oltp'
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/oltp'
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests'
make[4]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests'
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests'
make[2]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests'
Making install in .
make[2]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench'
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench'
test -z "/usr/local/bin" || mkdir -p -- "/usr/local/bin"
/bin/sh ../libtool --mode=install
/usr/bin/install -c 'sysbench' '/usr/local/bin/sysbench'
/usr/bin/install -c sysbench /usr/local/bin/sysbench
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench'
make[2]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench'
make[1]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench'
make[1]: Entering directory `/usr/local/sysbench-0.4.12'
make[2]: Entering directory `/usr/local/sysbench-0.4.12'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/usr/local/sysbench-0.4.12'
make[1]: Leaving directory `/usr/local/sysbench-0.4.12'
三测试:
1.数据库oltp测试,这个需要创建数据库sbtest;以下见具体测试用例
[root@localhost local]# sysbench --num-threads=5
--max-requests=1000 --test=oltp --mysql-table-engine=myisam
--oltp-table-size=4000000 --mysql-socket=/var/lib/mysql/mysql.sock
--mysql-db=sbtest --mysql-user=root
--mysql-host=127.0.0.1 --mysql-password=root
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: 5
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 1000
Threads started!
Done.
OLTP test statistics:
queries
performed:
read:
14000
write:
5000
other:
2000
total:
21000
transactions:
1000 (51.63 per sec.)
deadlocks:
0
(0.00 per sec.)
read/write
requests:
19000 (981.00 per sec.)
other
operations:
2000 (103.26 per sec.)
Test execution summary:
total
time:
19.3679s
total number
of
events:
1000
total time
taken by event execution: 94.0158
per-request
statistics:
min:
14.71ms
avg:
94.02ms
max:
5708.77ms
approx. 95
percentile:
113.91ms
Threads fairness:
events
(avg/stddev):
200.0000/72.46
execution
time (avg/stddev):
18.8032/0.26
[root@localhost local]# sysbench --num-threads=5
--max-requests=5000 --test=oltp --mysql-table-engine=myisam
--oltp-table-size=4000000 --mysql-socket=/var/lib/mysql/mysql.sock
--mysql-db=sbtest --mysql-user=root
--mysql-host=127.0.0.1 --mysql-password=root
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: 5
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 5000
Threads started!
Done.
OLTP test statistics:
queries
performed:
read:
70000
write:
25000
other:
10000
total:
105000
transactions:
5000 (46.05 per sec.)
deadlocks:
0
(0.00 per sec.)
read/write
requests:
95000 (874.91 per sec.)
other
operations:
10000 (92.10 per sec.)
Test execution summary:
total
time:
108.5830s
total number
of
events:
5000
total time
taken by event execution: 542.5105
per-request
statistics:
min:
17.93ms
avg:
108.50ms
max:
7212.44ms
approx. 95
percentile:
146.43ms
Threads fairness:
events
(avg/stddev):
1000.0000/96.35
execution
time (avg/stddev):
108.5021/0.03
2.cpu测试
cpu测试主要是进行素数的加法运算,在上面的例子中,指定了最大的素数为
20000,自己可以根据机器cpu的性能来适当调整数值。
sysbench --test=cpu --cpu-max-prime=200 run
[root@localhost ~]# sysbench --test=cpu --cpu-max-prime=200
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: 200
Test execution summary:
total
time:
0.5087s
total number
of
events:
10000
total time
taken by event execution: 0.4448
per-request
statistics:
min:
0.03ms
avg:
0.04ms
max:
20.45ms
approx. 95
percentile:
0.02ms
Threads fairness:
events
(avg/stddev):
10000.0000/0.00
execution
time (avg/stddev):
0.4448/0.00
[root@localhost ~]# 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:
3.3867s
total number
of
events:
10000
total time
taken by event execution: 3.3185
per-request
statistics:
min:
0.14ms
avg:
0.33ms
max:
14.34ms
approx. 95
percentile:
0.36ms
Threads fairness:
events
(avg/stddev):
10000.0000/0.00
execution
time (avg/stddev):
3.3185/0.00
[root@localhost ~]# sysbench --test=cpu --cpu-max-prime=20000
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: 20000
Test execution summary:
total
time:
61.4178s
total number
of
events:
10000
total time
taken by event execution: 61.3427
per-request
statistics:
min:
1.13ms
avg:
6.13ms
max:
56.49ms
approx. 95
percentile:
7.96ms
Threads fairness:
events
(avg/stddev):
10000.0000/0.00
execution
time (avg/stddev):
61.3427/0.00
3、线程测试
sysbench --test=threads --num-threads=16 --thread-yields=100
--thread-locks=2 run
[root@localhost ~]# sysbench --test=cpu --cpu-max-prime=20000
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: 20000
Test execution summary:
total
time:
61.4178s
total number
of
events:
10000
total time
taken by event execution: 61.3427
per-request
statistics:
min:
1.13ms
avg:
6.13ms
max:
56.49ms
approx. 95
percentile:
7.96ms
Threads fairness:
events
(avg/stddev):
10000.0000/0.00
execution
time (avg/stddev):
61.3427/0.00
[root@localhost ~]# sysbench --test=threads --num-threads=16
--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: 16
Doing thread subsystem performance test
Thread yields per test: 100 Locks used: 2
Threads started!
Done.
Test execution summary:
total
time:
83.0173s
total number
of
events:
10000
total time
taken by event execution: 1327.3256
per-request
statistics:
min:
13.21ms
avg:
132.73ms
max:
7176.51ms
approx. 95
percentile:
835.83ms
Threads fairness:
events
(avg/stddev):
625.0000/109.40
execution
time (avg/stddev):
82.9578/0.03
[root@localhost ~]#
4、磁盘IO性能测试
sysbench --test=fileio --num-threads=5 --file-total-size=100M
--file-test-mode=rndrw prepare
sysbench --test=fileio --num-threads=5 --file-total-size=100M
--file-test-mode=rndrw run
sysbench --test=fileio --num-threads=5 --file-total-size=100M
--file-test-mode=rndrw cleanup
[root@localhost ~]# sysbench --test=fileio --num-threads=5
--file-total-size=100M --file-test-mode=rndrw run
sysbench 0.4.12: multi-threaded system evaluation
benchmark
Running the test with following options:
Number of threads: 5
Extra file open flags: 0
128 files, 800Kb each
100Mb 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: 5999 Read, 4001 Write,
12800 Other = 22800 Total
Read 93.734Mb Written 62.516Mb
Total transferred 156.25Mb (12.456Mb/sec)
797.20 Requests/sec executed
Test execution summary:
total
time:
12.5439s
total number
of
events:
10000
total time
taken by event execution: 4.0691
per-request
statistics:
min:
0.03ms
avg:
0.41ms
max:
207.37ms
approx. 95
percentile:
0.08ms
Threads fairness:
events
(avg/stddev):
2000.0000/247.35
execution
time (avg/stddev):
0.8138/0.22
root@localhost ~]# sysbench
--test=fileio --num-threads=5 --file-total-size=100M
--file-test-mode=rndrw cleanup
sysbench 0.4.12: multi-threaded system evaluation
benchmark
Removing test files...
[root@localhost ~]#
上述参数指定了最大创建5个线程,创建的文件总大小为100M,文件读写模式为随机读。
4、内存测试
sysbench --test=memory --memory-block-size=8k
--memory-total-size=100M run
上述参数指定了本次测试整个过程是在内存中传输 100M 的数据量,每个 block 大小为 8K。
四:实际过程中可能会遇到一些问题:
问题2. 出现configure: error: no acceptable C compiler found in
$PATH
解决办法:安装gcc,命令为:yum install gcc。
问题2:出现../libtool: line 5172: : command not found
解决办法 运行[root@localhost
sysbench-0.4.12]# ./autogen.sh
问题3:source directory already configured, make distclean的错误解决
.
解决办法:在sysbench目录运行 make distclean
问题4:configure时候出现 i686-pc-linux' not
recognized提示
在运行./configure 时如果出现下面的提示信息:
checking build system
type... Invalid configuration `i686-pc-linux-': machine
`i686-pc-linux' not
recognized
configure: error:
/bin/sh ./config.sub i686-pc-linux- failed
解决办法:就使用./configure --build=i686-pc-linux-gnu来设置
主要包括以下几种方式的测试:
1、cpu性能
2、磁盘io性能
3、调度程式性能
4、内存分配及传输速度
5、POSIX线程性能
6、数据库性能(OLTP基准测试)现在sysbench主要支持 MySQL,pgsql,oracle 这3种数据库
本文以实际的安装和简单的测试以做抛砖引玉,希望在泰岳的性能测试中发挥应有的作用。
一:安装mysql
先安装
MySQL-client-5.5.32-1.rhel5.i386.rpm
MySQL-server-5.5.32-1.rhel5.i386.rpm
下面三个用于性能测试用
MySQL-shared-5.5.32-1.rhel5.i386.rpm
MySQL-devel-5.5.32-1.rhel5.i386.rpm
MySQL-shared-compat-5.5.32-1.rhel5.i386.rpm
二:安装sysbench
安装sysbench因为是源码需要编译及需要其他的包或工具,较为繁琐,现做具体介绍
1.下载sysbench
sysbench-0.4.12.tar.gz,并上传到/usr/local目录下
[root@localhost local]# ls
bin
etc
man
sbin
cmake-2.8.10.2
games
mysql-5.6.11.tar.gz
share
cmake-2.8.10.2.tar.gz
include
MySQL-client-5.5.32-1.rhel5.i386.rpm
src
config
lib
MySQL-devel-5.5.32-1.rhel5.i386.rpm
config.log
libexec
MySQL-server-5.5.32-1.rhel5.i386.rpm
sysbench-0.4.12.tar.gz
config.status
libtool
MySQL-shared-5.5.32-1.rhel5.i386.rpm
doc
Makefile
MySQL-shared-compat-5.5.32-1.rhel5.i386.rpm
2.解压 tax -zxvf
sysbench-0.4.12.tar.gz
[root@localhost local]# ls
bin
etc
man
sbin
cmake-2.8.10.2
games
mysql-5.6.11.tar.gz
share
cmake-2.8.10.2.tar.gz
include
MySQL-client-5.5.32-1.rhel5.i386.rpm
src
config
lib
MySQL-devel-5.5.32-1.rhel5.i386.rpm
sysbench-0.4.12
config.log
libexec
MySQL-server-5.5.32-1.rhel5.i386.rpm
sysbench-0.4.12.tar.gz
config.status
libtool
MySQL-shared-5.5.32-1.rhel5.i386.rpm
doc
Makefile
MySQL-shared-compat-5.5.32-1.rhel5.i386.rpm
3.编译,安装
/usr/local/sysbench-0.4.12/configure
--with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib
&& make
&& make install
....
test -z "/usr/local/share/doc/sysbench" || mkdir -p --
"/usr/local/share/doc/sysbench"
/usr/bin/install -c -m 644 'manual.html'
'/usr/local/share/doc/sysbench/manual.html'
make[3]: Leaving directory `/usr/local/sysbench-0.4.12/doc'
make[2]: Leaving directory `/usr/local/sysbench-0.4.12/doc'
make[1]: Leaving directory `/usr/local/sysbench-0.4.12/doc'
Making install in sysbench
make[1]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench'
Making install in drivers
make[2]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/drivers'
Making install in mysql
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/drivers/mysql'
make[4]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/drivers/mysql'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/drivers/mysql'
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/drivers/mysql'
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/drivers'
make[4]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/drivers'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/drivers'
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/drivers'
make[2]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/drivers'
Making install in tests
make[2]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests'
Making install in cpu
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/cpu'
make[4]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/cpu'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/cpu'
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/cpu'
Making install in fileio
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/fileio'
make[4]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/fileio'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/fileio'
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/fileio'
Making install in memory
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/memory'
make[4]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/memory'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/memory'
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/memory'
Making install in threads
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/threads'
make[4]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/threads'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/threads'
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/threads'
Making install in mutex
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/mutex'
make[4]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/mutex'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/mutex'
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/mutex'
Making install in oltp
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/oltp'
make[4]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests/oltp'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/oltp'
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests/oltp'
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests'
make[4]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench/tests'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests'
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests'
make[2]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench/tests'
Making install in .
make[2]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench'
make[3]: Entering directory
`/usr/local/sysbench-0.4.12/sysbench'
test -z "/usr/local/bin" || mkdir -p -- "/usr/local/bin"
/bin/sh ../libtool --mode=install
/usr/bin/install -c 'sysbench' '/usr/local/bin/sysbench'
/usr/bin/install -c sysbench /usr/local/bin/sysbench
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench'
make[2]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench'
make[1]: Leaving directory
`/usr/local/sysbench-0.4.12/sysbench'
make[1]: Entering directory `/usr/local/sysbench-0.4.12'
make[2]: Entering directory `/usr/local/sysbench-0.4.12'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/usr/local/sysbench-0.4.12'
make[1]: Leaving directory `/usr/local/sysbench-0.4.12'
三测试:
1.数据库oltp测试,这个需要创建数据库sbtest;以下见具体测试用例
[root@localhost local]# sysbench --num-threads=5
--max-requests=1000 --test=oltp --mysql-table-engine=myisam
--oltp-table-size=4000000 --mysql-socket=/var/lib/mysql/mysql.sock
--mysql-db=sbtest --mysql-user=root
--mysql-host=127.0.0.1 --mysql-password=root
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: 5
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 1000
Threads started!
Done.
OLTP test statistics:
queries
performed:
read:
14000
write:
5000
other:
2000
total:
21000
transactions:
1000 (51.63 per sec.)
deadlocks:
0
(0.00 per sec.)
read/write
requests:
19000 (981.00 per sec.)
other
operations:
2000 (103.26 per sec.)
Test execution summary:
total
time:
19.3679s
total number
of
events:
1000
total time
taken by event execution: 94.0158
per-request
statistics:
min:
14.71ms
avg:
94.02ms
max:
5708.77ms
approx. 95
percentile:
113.91ms
Threads fairness:
events
(avg/stddev):
200.0000/72.46
execution
time (avg/stddev):
18.8032/0.26
[root@localhost local]# sysbench --num-threads=5
--max-requests=5000 --test=oltp --mysql-table-engine=myisam
--oltp-table-size=4000000 --mysql-socket=/var/lib/mysql/mysql.sock
--mysql-db=sbtest --mysql-user=root
--mysql-host=127.0.0.1 --mysql-password=root
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: 5
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 5000
Threads started!
Done.
OLTP test statistics:
queries
performed:
read:
70000
write:
25000
other:
10000
total:
105000
transactions:
5000 (46.05 per sec.)
deadlocks:
0
(0.00 per sec.)
read/write
requests:
95000 (874.91 per sec.)
other
operations:
10000 (92.10 per sec.)
Test execution summary:
total
time:
108.5830s
total number
of
events:
5000
total time
taken by event execution: 542.5105
per-request
statistics:
min:
17.93ms
avg:
108.50ms
max:
7212.44ms
approx. 95
percentile:
146.43ms
Threads fairness:
events
(avg/stddev):
1000.0000/96.35
execution
time (avg/stddev):
108.5021/0.03
2.cpu测试
cpu测试主要是进行素数的加法运算,在上面的例子中,指定了最大的素数为
20000,自己可以根据机器cpu的性能来适当调整数值。
sysbench --test=cpu --cpu-max-prime=200 run
[root@localhost ~]# sysbench --test=cpu --cpu-max-prime=200
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: 200
Test execution summary:
total
time:
0.5087s
total number
of
events:
10000
total time
taken by event execution: 0.4448
per-request
statistics:
min:
0.03ms
avg:
0.04ms
max:
20.45ms
approx. 95
percentile:
0.02ms
Threads fairness:
events
(avg/stddev):
10000.0000/0.00
execution
time (avg/stddev):
0.4448/0.00
[root@localhost ~]# 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:
3.3867s
total number
of
events:
10000
total time
taken by event execution: 3.3185
per-request
statistics:
min:
0.14ms
avg:
0.33ms
max:
14.34ms
approx. 95
percentile:
0.36ms
Threads fairness:
events
(avg/stddev):
10000.0000/0.00
execution
time (avg/stddev):
3.3185/0.00
[root@localhost ~]# sysbench --test=cpu --cpu-max-prime=20000
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: 20000
Test execution summary:
total
time:
61.4178s
total number
of
events:
10000
total time
taken by event execution: 61.3427
per-request
statistics:
min:
1.13ms
avg:
6.13ms
max:
56.49ms
approx. 95
percentile:
7.96ms
Threads fairness:
events
(avg/stddev):
10000.0000/0.00
execution
time (avg/stddev):
61.3427/0.00
3、线程测试
sysbench --test=threads --num-threads=16 --thread-yields=100
--thread-locks=2 run
[root@localhost ~]# sysbench --test=cpu --cpu-max-prime=20000
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: 20000
Test execution summary:
total
time:
61.4178s
total number
of
events:
10000
total time
taken by event execution: 61.3427
per-request
statistics:
min:
1.13ms
avg:
6.13ms
max:
56.49ms
approx. 95
percentile:
7.96ms
Threads fairness:
events
(avg/stddev):
10000.0000/0.00
execution
time (avg/stddev):
61.3427/0.00
[root@localhost ~]# sysbench --test=threads --num-threads=16
--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: 16
Doing thread subsystem performance test
Thread yields per test: 100 Locks used: 2
Threads started!
Done.
Test execution summary:
total
time:
83.0173s
total number
of
events:
10000
total time
taken by event execution: 1327.3256
per-request
statistics:
min:
13.21ms
avg:
132.73ms
max:
7176.51ms
approx. 95
percentile:
835.83ms
Threads fairness:
events
(avg/stddev):
625.0000/109.40
execution
time (avg/stddev):
82.9578/0.03
[root@localhost ~]#
4、磁盘IO性能测试
sysbench --test=fileio --num-threads=5 --file-total-size=100M
--file-test-mode=rndrw prepare
sysbench --test=fileio --num-threads=5 --file-total-size=100M
--file-test-mode=rndrw run
sysbench --test=fileio --num-threads=5 --file-total-size=100M
--file-test-mode=rndrw cleanup
[root@localhost ~]# sysbench --test=fileio --num-threads=5
--file-total-size=100M --file-test-mode=rndrw run
sysbench 0.4.12: multi-threaded system evaluation
benchmark
Running the test with following options:
Number of threads: 5
Extra file open flags: 0
128 files, 800Kb each
100Mb 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: 5999 Read, 4001 Write,
12800 Other = 22800 Total
Read 93.734Mb Written 62.516Mb
Total transferred 156.25Mb (12.456Mb/sec)
797.20 Requests/sec executed
Test execution summary:
total
time:
12.5439s
total number
of
events:
10000
total time
taken by event execution: 4.0691
per-request
statistics:
min:
0.03ms
avg:
0.41ms
max:
207.37ms
approx. 95
percentile:
0.08ms
Threads fairness:
events
(avg/stddev):
2000.0000/247.35
execution
time (avg/stddev):
0.8138/0.22
root@localhost ~]# sysbench
--test=fileio --num-threads=5 --file-total-size=100M
--file-test-mode=rndrw cleanup
sysbench 0.4.12: multi-threaded system evaluation
benchmark
Removing test files...
[root@localhost ~]#
上述参数指定了最大创建5个线程,创建的文件总大小为100M,文件读写模式为随机读。
4、内存测试
sysbench --test=memory --memory-block-size=8k
--memory-total-size=100M run
上述参数指定了本次测试整个过程是在内存中传输 100M 的数据量,每个 block 大小为 8K。
四:实际过程中可能会遇到一些问题:
问题2. 出现configure: error: no acceptable C compiler found in
$PATH
解决办法:安装gcc,命令为:yum install gcc。
问题2:出现../libtool: line 5172: : command not found
解决办法 运行[root@localhost
sysbench-0.4.12]# ./autogen.sh
问题3:source directory already configured, make distclean的错误解决
.
解决办法:在sysbench目录运行 make distclean
问题4:configure时候出现 i686-pc-linux' not
recognized提示
在运行./configure 时如果出现下面的提示信息:
checking build system
type... Invalid configuration `i686-pc-linux-': machine
`i686-pc-linux' not
recognized
configure: error:
/bin/sh ./config.sub i686-pc-linux- failed
解决办法:就使用./configure --build=i686-pc-linux-gnu来设置
相关文章推荐
- squid管理工具sarg安装,配置,使用
- 负载均衡工具haproxy安装,配置,使用
- 负载均衡工具haproxy安装,配置,使用
- 必须使用角色管理工具 安装或配置microsoft.net framework 3.5 sp1 .
- AWStats简介:Apache/Windows IIS的日志分析工具的下载,安装,配置样例和使用(含6.9中文定义补丁)
- Windows Server 2008 安装SQL Server 2008 报错:必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1
- mysql安装图解(详细步骤),配置,相关图形工具介绍及使用,中文支持
- MRTG—网络流量监控工具 windows和linux上的安装和使用配置方法 第二十一集 Mrtg系统监控
- AWStats简介:Apache/Windows IIS的日志分析工具的下载,安装,配置样例和使用(含6.9中文定义补丁)
- 负载均衡工具haproxy安装,配置,使用
- xdebug的安装、使用、配置、调试、及工具wincachegrind的使用
- 负载均衡工具haproxy安装,配置,使用
- apache日志分割工具cronolog安装、配置、使用
- 未安装SQL Server Express的情况下使用Asp.Net的网站配置工具
- AWStats简介:Apache/Windows IIS的日志分析工具的下载,安装,配置样例和使用(含6.9中文定义补丁)
- iptables防火墙配置工具ShoreWall的安装和使用实例
- iptables防火墙配置工具ShoreWall的安装和使用实例
- Ubuntu中C代码静态检查工具Splint的安装配置和使用
- 在RedHat AS 下安装配置SVN管理工具,使用SVN访问
- Ubuntu中C代码静态检查工具Splint的安装配置和使用