技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 系统运维 --> sysbench的安装和做性能测试

sysbench的安装和做性能测试

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

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

    1、cpu性能

    2、磁盘io性能

    3、调度程序性能

    4、内存分配及传输速度

    5、POSIX线程性能

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

    sysbench支持 MySQL,pgsql,oracle 这3种数据库。

    一、安装

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

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

    [root@xutest /]#tar zxf sysbench-0.4.12.tar.gz

    [root@xutest /]#cd sysbench-0.4.12

    [root@xutest /]#./configure && make && make install

    [root@xutest /]#strip /usr/local/bin/sysbench

     如果 MySQL 安装在标准默认目录下的可以直接按照以上步骤安装,如果 MySQL不是安装在默认路径下,那么就需要自己指定 MySQL 的路径。比如我的 MySQL 喜欢自己安装在 /opt/mysql 下,则按照以下方法编译:

    [root@xutest /]#./configure --with-mysql-includes=/opt/mysql/include --with-mysql-libs=/opt/mysql/lib && make && make install

    

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

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

    --with-pgsql

    或者

    --with-oracle

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

    二、测试

     编译成功之后,就要开始测试各种性能了,测试的方法官网网站上说明了非常的详细,根据官网的说明文档测试的步骤大致如下:

    1、cpu性能测试

    [root@xutest /]#sysbench --test=cpu --cpu-max-prime=20000 run

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

    2、线程测试

    [root@xutest /]#sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=2 run

    3、磁盘IO性能测试

    [root@xutest /]#sysbench --test=fileio --num-threads=8 --file-total-size=4G --file-test-mode=rndrw prepare

    [root@xutest /]#sysbench --test=fileio --num-threads=8 --file-total-size=4G --file-test-mode=rndrw run

    [root@xutest /]#sysbench --test=fileio --num-threads=8 --file-total-size=4G --file-test-mode=rndrw cleanup

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

    4、内存测试

    [root@xutest /]#sysbench --test=memory --memory-block-size=16k --memory-total-size=2G run

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

    5、OLTP测试

    [root@xutest /]#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,指定了表最大记录数为 1000000,其他参数就很好理解了,主要是指定登录方式。测试 OLTP 时,可以自己先创建数据库或者自己用参数 --mysql-db 来指定其他数据库。--mysql-table-engine 还可以指定为 innodb 等 MySQL 支持的表存储引擎类型.

    注:整个的安装过程和参数设置参考了sysbench

建议继续学习:

  1. Xvfb+YSlow+ShowSlow搭建前端性能测试框架    (阅读:53977)
  2. 30分钟3300%性能提升――python+memcached网页优化小记    (阅读:11857)
  3. 长连接(KeepAlive)在 http 连接中的性能影响    (阅读:6842)
  4. SQL vs NoSQL:数据库并发写入性能比拼    (阅读:6458)
  5. 服务器性能测试工具推荐    (阅读:6178)
  6. Go Reflect 性能    (阅读:6182)
  7. WEB性能测试工具推荐    (阅读:5447)
  8. 分析进程内存分配情况,解决程序性能问题    (阅读:5123)
  9. 由12306.cn谈谈网站性能技术    (阅读:4662)
  10. 性能测试工具sysbench简介    (阅读:4575)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1