sysbench使用

1 篇文章 0 订阅
1 篇文章 0 订阅

         sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。数据库目前支持MySQL/Oracle/PostgreSQL。

下载地址:http://sourceforge.net/projects/sysbench/ 现在已经被墙了,需要翻墙。不过csdn上也能下到。

为了把sysbench安装起来测试一下mysql,费了不少周章,这里记录一下。


一.mysql安装


          首先我找了一台之前自己装过mysql的机器,准备在这个机器上小跑一下。于是搬了sysbench包上去。安装sysbench时要配置mysql的include和lib两个目录。这有点悲剧,搞了半天找不到这两个目录,期间还查到说用 rpm -ql命令可以查到,最终是搜到这么一句话:mysql用rpm安装不行,要用tar自己编译的才行。那就死心了,再重新装一个mysql,用tar.gz包。(其实期间我为了先玩一下sysbench的功能,还选了不支持mysql的配置方式安装了一把,那就没啥问题,在配置的时候使用./configure--without-mysql 就可以了)

         在mysql官网上找tar.gz包的下载:http://www.mysql.com/downloads/mysql-4.0.html,由于我的机器是redhat,刚开始一直选这个,发现下面都是rpm的安装包,于是选了linux generic才在下面找到tar.gz的包,下载之前要知道机器的操作系统位数,用uname -a命令查看,x86_64则说明你是64位内核, 跑的是64位的系统.i386, i686说明你是32位的内核, 跑的是32位的系统,现在基本都是64位啦,升级换代了嘛。

这次安装mysql的话,就没有什么大的花头了,tar zxvfmysql-version.tar.gz包进入目录后,看INSTALL-BINARY文件(我之前一般很少看工具软件自带的说明文档,大多数情况下是只听搜索引擎的,现在发现其实这种工具软件,看README文档还是很有帮助的,这里是INSTALL-BINARY文件),根据文件提供的命令执行就ok了:

shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
# Next command is optional
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

         这里其实还遇到一个问题,我的账号只有sudo权限,比如说第二句命令,用useradd来新增一个系统账号,就很无力,于是我选择了绕过(我这习惯很不好啊很不好,很多问题都是通过绕过解决,你别学我啊),我的办法是,只要后面有涉及到给mysql这个账号赋权限的,都赋给admin账号,我有这个账号权限呀,哈哈。

         安装完成,还做了两件事:1是设置PATH变量,我因为只是先测试一下,只是用了export命令搞定,把bin目录加到path下面;2是通过下面这个命令改了一下root用户的密码:/MYSQLHOME/bin/mysqladmin -u root password ‘newpassword’。那接下来就可以开搞sysbench了。


二.sysbench安装  


这下步骤就简单多了。

 1.下载一个tar.gz的sysbench包。

2.解压:tar zxvf sysbench-version.tar.gz

3.进入目录:cd sysbench-version

4.执行./autogen.sh

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

6.执行make和make install


三.执行


         这样sysbench就可用了,来一个简单的试试看测试cpu的命令:

sysbench --test=cpu --num-threads=32--cpu-max-prime=90000 run ,这个命令使用最大素数为90000的数值来测试cpu。但是结果并没有这么顺利,这个命令报了一个错“sysbench: error while loading shared libraries:libmysqlclient.so.18: cannot open shared object file: No such file or directory”,提示无法读取mysql的lib目录下的文件,于是根据http://beagoodboy.iteye.com/blog/1280907这篇文字的作法试了,没有结果,又找到http://www.cnblogs.com/ylqmf/archive/2012/04/12/2444284.html,通过在/etc/ld.so.conf中配置文件所在的位置,问题解决,sysbench可用啦。

最终执行cpu的测试结果截了个图:


大体的测试结果我们应该都可以看懂了,具体的含义我也没有去纠结,后续用了会来写一下。

         接着就准备测试mysql了:先建一个测试库:create database sbtest;

使用sysbench准备数据:

 sysbench --test=oltp--mysql-table-engine=myisam --oltp-table-size=1000000--mysql-socket=/tmp/mysql.sock --mysql-db=sbtest --mysql-user=root --mysql-host=localhost--mysql-password=pass prepare 

执行read-only测试:

 sudo sysbench --num-threads=16--max-requests=100000 --test=oltp --oltp-table-size=1000000--mysql-socket=/tmp/mysql.sock --oltp-read-only --mysql-user=root--mysql-host=localhost --mysql-password=pass run 

清理掉数据:

sysbench --test=oltp--mysql-table-engine=myisam --oltp-table-size=1000000--mysql-socket=/tmp/mysql.sock --mysql-db=sbtest cleanup

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值