Chinaunix首页 | 论坛 | 博客
  • 博客访问: 861573
  • 博文数量: 150
  • 博客积分: 5123
  • 博客等级: 大校
  • 技术积分: 1478
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-06 10:03
文章分类

全部博文(150)

文章存档

2011年(2)

2010年(139)

2009年(9)

分类: 系统运维

2010-06-24 23:37:27

压力测试工具sysbench初探
2010年03月01日 16:26

sysbench的官方网站:

下载地址(可以找到各种版本):

sysbench官方文档,非常详细,强力推荐

最基本的编译选项:
./configure --prefix=/home/mysql5/sysbench --without-mysql 
暂时没有编译mysql支持

sysbench的测试主要包括以下几个方面:
       1、cpu性能
       2、磁盘io性能
       3、调度程序性能
       4、内存分配及传输速度
       5、POSIX线程性能
       6、数据库性能(OLTP基准测试)...

可以测试raid0,raid5,raid10分别作为数据库主库和从库时候的性能,不用自己写测试用例...

sysbench的命令选项

prepare---准备
    Performs preparative actions for those tests which need them, e.g. creating the necessary files on disk for the fileio test, or filling the test database for the oltp test. 
run---实际执行
    Runs the actual test specified with the --test=name option. 
cleanup---打扫环境
    Removes temporary data after the test run in those tests which create one. 
help---寻求帮助
    Displays usage information for a test specified with the --test=name option.

测试1 CPU测试
寻找最大的素数,测试cpu的性能:
./sysbench --num-threads=3 --max-requests=80 --test=cpu --debug --cpu-max-prime=200000 run 
测试2 threads测试
./sysbench --num-threads=3 --max-requests=80 --test=threads --debug run
sysbench v0.4.8: multi-threaded system evaluation benchmark
测试3 文件IO性能测试
Usage example: 
$ sysbench --num-threads=16 --test=fileio --file-total-size=3G --file-test-mode=rndrw prepare
$ sysbench --num-threads=16 --test=fileio --file-total-size=3G --file-test-mode=rndrw run
$ sysbench --num-threads=16 --test=fileio --file-total-size=3G --file-test-mode=rndrw cleanup
   
创建128个文件,总大小为3G,此为准备工作;然后执行随机的读写测试,最后清理现场.

io操作的分类大致如下:
seqwr
sequential write 
seqrewr
sequential rewrite 
seqrd
sequential read 
rndrd
random read 
rndwr
random write 
rndrw
combined random read/write 
测试4 Mutex测试
./sysbench --num-threads=3 --max-requests=80 --test=mutex run
测试5 内存测试
./sysbench --num-threads=3 --max-requests=80 --test=memory --memory-total-size=2G --memory-oper=read run
测试6 MySQL数据库测试
$ sysbench --test=oltp --mysql-table-type=myisam --oltp-table-size=1000000 --mysql-socket=/tmp/mysql.sock prepare
$ sysbench --num-threads=16 --max-requests=100000 --test=oltp --oltp-table-size=1000000 --mysql-socket=/tmp/mysql.sock --oltp-read-only run 
先创建数据库,然后写入1M的记录.然后用16个客户端执行100000个请求,测试oltp性能.

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