[转帖]sysbench 的安装和性能测试相关_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3967 | 回复: 0   主题: [转帖]sysbench 的安装和性能测试相关        下一篇 
ilikeorcl
注册用户
等级:中尉
经验:431
发帖:32
精华:1
注册:2012-12-17
状态:离线
发送短消息息给ilikeorcl 加好友    发送短消息息给ilikeorcl 发消息
发表于: IP:您无权察看 2012-12-19 10:01:11 | [全部帖] [楼主帖] 楼主

北京联动北方科技有限公司sysbench 的安装和做性能测试北京联动北方科技有限公司

sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。关于这个项目的详细介绍请看:http://sysbench.sourceforge.net

它主要包括以下几种方式的测试:

1cpu性能

2、磁盘io性能

3、调度程序性能

4、内存分配及传输速度

5POSIX线程性能

6、数据库性能(OLTP基准测试)

目前sysbench主要支持 MySQL,pgsql,oracle 3种数据库。

一、安装

首先,在 http://sourceforge.net/projects/sysbench 下载源码包。

接下来,按照以下步骤安装:

tar zxf sysbench-0.4.8.tar.gz
cd sysbench-0.4.8
./configure && make && make install
strip /usr/local/bin/sysbench


以上方法适用于 MySQL 安装在标准默认目录下的情况,如果 MySQL 并不是安装在标准目录下的话,那么就需要自己指定 MySQL 的路径了。比如我的 MySQL 喜欢自己安装在 /usr/local/mysql 下,则按照以下方法编译:

/configure –with-mysql-includes=/usr/local/mysql/include –with-mysql-libs=/usr/local/mysql/lib && make && make install


当然了,用上面的参数编译的话,就要确保你的 MySQL lib目录下有对应的 so 文件,如果没有,可以自己下载 devel 或者 share 包来安装。

另外,如果想要让 sysbench 支持 pgsql/oracle 的话,就需要在编译的时候加上参数

–with-pgsql


或者

–with-oracle


2个参数默认是关闭的,只有 MySQL 是默认支持的。

二、开始测试

编译成功之后,就要开始测试各种性能了,测试的方法官网网站上也提到一些,但涉及到 OLTP 测试的部分却不够准确。在这里我大致提一下:

1、cpu性能测试


sysbench –test=cpu –cpu-max-prime=20000 run


cpu测试主要是进行素数的加法运算,在上面的例子中,指定了最大的素数为 20000,自己可以根据机器cpu的性能来适当调整数值。

2、线程测试


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


3、磁盘IO性能测试


sysbench –test=fileio –num-threads=16 –file-total-size=3G –file-test-mode=rndrw prepare
sysbench –test=fileio –num-threads=16 –file-total-size=3G –file-test-mode=rndrw run
sysbench –test=fileio –num-threads=16 –file-total-size=3G –file-test-mode=rndrw cleanup


上述参数指定了最大创建16个线程,创建的文件总大小为3G,文件读写模式为随机读。

4、内存测试


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


上述参数指定了本次测试整个过程是在内存中传输 4G 的数据量,每个 block 大小为 8K

5、OLTP测试


sysbench –test=oltp –mysql-table-engine=myisam –oltp-table-size=1000000 \
–mysql-socket=/tmp/mysql.sock –mysql-user=test –mysql-host=localhost \
–mysql-password=test prepare


上述参数指定了本次测试的表存储引擎类型为 myisam,这里需要注意的是,官方网站上的参数有一处有误,即–mysql-table-engine,官方网站上写的是–mysql-table-type,这个应该是没有及时更新导致的。另外,指定了表最大记录数为 1000000,其他参数就很好理解了,主要是指定登录方式。测试 OLTP 时,可以自己先创建数据库 sbtest,或者自己用参数–mysql-db 来指定其他数据库。–mysql-table-engine 还可以指定为 innodb MySQL 支持的表存储引擎类型。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论