Sysbench0.4.12安装以及测试

    技术2022-05-20  36

     

    sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。它主要包括以下几种方式的测试:

        1cpu性能

        2、磁盘io性能

        3、调度程序性能

        4、内存分配及传输速度

        5POSIX线程性能

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

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

    本文只是在linux CentOs MySQL环境下安装sysbench0.4.12

     

     

    一、 安装

    在安装sysbench之前,系统必须先要安装好MySQL。本文中MySQL是系统自带的,要是系统没有安装MySQL,可以使用如下命令安装:

        Yum install mysql*

    1、软件包下载

           http://sourceforge.net/projects/sysbench

    2、解压

       Tar –zxvf sysbench-0.4.12.tar.gz

    3、安装

      进入sysbench-0.4.12

      Cd sysbench-0.4.12

    在正式安装之前必须要运行autogen.sh文件,否则会出现libtool无法执行等相关错误。执行如下命令:

     chmod  +x autogen.sh

     ./autogen.sh

     

    下面开始正式安装安装

      因为这里mysql是标准的智能包安装(rpm)sysbench的安装就比较简单

    ./configure

     Make

     Make install

     

    mysql是源码安装的话,编译时按如下方式进行

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

    这里/usr/local/mysql/includemysql的安装路径

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

        --with-pgsql

        或者

        --with-oracle

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

     

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

        1cpu性能测试

     

        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 preparesysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw runsysbench --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

     

    5OLTP测试

     

        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 支持的表存储引擎类型

     

     

    文章来源:

    http://tech.sina.com.cn/s/2008-12-29/1413938463.shtml

     

     

     

     

     

     

     

     

     


    最新回复(0)