Chinaunix首页 | 论坛 | 博客
  • 博客访问: 410940
  • 博文数量: 43
  • 博客积分: 613
  • 博客等级: 中士
  • 技术积分: 756
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-01 11:25
文章分类

全部博文(43)

文章存档

2016年(1)

2015年(5)

2014年(5)

2013年(14)

2012年(18)

分类: 系统运维

2013-02-20 18:15:17

一、安装

在网站上下载,我下载到的源码包是sysbench-0.4.12.tar.gz。

 

yum install gcc libtool

 

tar zxf sysbench-0.4.12.tar.gz

 

在解压好的目录下运行命令:./autogen.sh,对环境进行清理。该操作是sysbench0.4.12独有的,不进行的话可能会报错。

 

根据安装的mysql目录指定configure

./configure --with-mysql-includes=/usr/local/mysql/include/ --with-mysql-libs=/usr/local/mysql/lib/

make && make install

 

二、测试

 

CPU性能测试

sysbench --test=cpu --cpu-max-prime=5000 run

CPU的性能测试主要通过素数的运算来进行,--cpu-max-prime用来选项指定最大的素数,具体参数可以根据CPU的性能来设置。

可以使用sysbench --test=cpu help  来查看详细参数

 

 

内存性能测试

sysbench --test=memory --memory-block-size=8k --memory-total-size=4G run

--memory-block-size指定每个block的大小,--memory-total-size指定总的传输量。另外还有其他选项,可通过命令sysbench --test=memory help进行查看。

 

 

磁盘I/O性能测试

首先生成需要测试的文件

sysbench --test=fileio --num-threads=16 --file-num=2 --file-total-size=2G --file-test-mode=rndrw --file-rw-ratio=2 prepare

然后执行测试

sysbench --test=fileio --num-threads=16 --file-num=2 --file-total-size=2G --file-test-mode=rndrw --file-rw-ratio=2 run

最后清理测试文件

sysbench --test=fileio --num-threads=16 --file-num=2 --file-total-size=2G --file-test-mode=rndrw --file-rw-ratio=2 cleanup

--num-threads指定最大创建的线程数,--file-num指定文件数目,--file-taotal-size指定创建的文件总大小,--file-test-mode指定文件读写模式,rndrw为随机读,--file-rw-ratio指定读写比率。另外还有更多的选项可以通过命令sysbench --test=fileio help进行查看。

 

 

线程测试

sysbench --test=threads --num-threads=32 --thread-yields=100 --thread-locks=2 run

--num-threads指定线程数,--thread-yield指定每个请求的压力,--thread-locks指定每个线程的锁数量。

也可以使用sysbench --test=threads help查看所有参数。

 

数据库性能测试

首先,准备测试数据

sysbench --test=oltp --mysql-host=server1 --mysql-user=root --mysql-password=MySQLPASSWORD --mysql-db=test --oltp-table-name=sbtest --mysql-table-engine=MyISAM --oltp-table-size=1000000 prepare

然后执行测试

sysbench --test=oltp --mysql-host=server1 --mysql-port=3306 --mysql-user=root --mysql-password=MySQLPASSWORD --mysql-db=test --oltp-table-name=sbtest --mysql-table-engine=MyISAM --mysql-engine-trx=no --oltp-skip-trx=on --oltp-table-size=1000000 --max-requests=1000 --num-threads=100 run

最后清理测试数据

sysbench --test=oltp --mysql-host=server1 --mysql-user=root --mysql-password=MySQLPASSWORD --mysql-db=test --oltp-table-name=sbtest cleanup

--mysql-host指定使用的MySQL服务器的地址,--mysql-user指定连接MySQL的用户名,--mysql-password指定密码,--mysql-db指定使用的数据库,--oltp-table-name指定使用的表,--mysql-table-engine指定表所使用的数据库引擎,--mysql-engine-trx说明使用的数据库引擎是否是事务的,--oltp-skip-trx指定是否忽略事务语句(BEGIN/COMMIT),--oltp-table-size指定数据表中的记录数,--max-requests指定最大请求数,--num-threads指定线程数,其他更多的选项可以使用命令sysbench --test=oltp help查看。

 

 

 

 

 

 

 

 

 

 

 

阅读(4443) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~