zoukankan      html  css  js  c++  java
  • Sysbench-OLTP数据库测试

    使用sysbench进行oltp测试之前,需要核对一下sysbench的版本,因为不同版本在使用的参数时,会有一定的差异。

    mysql dba这本书中的sysbench使用的是0.5的版本,ubuntu中默认apt-get安装的是0.4.12版本,在执行数据准备时,参数不同,会报错->不知道的选项,不知道的参数,文件路径找不到
    所以,建议在测试之前,确认一下版本的一致性,或者使用提供的help命令,确认提供的参数。
     
    此次测试环境以及工具版本为:
    • CentOS Linux release 7.3.1611 (Core)
      sysbench 0.5
      mysql  Ver 14.14 Distrib 5.6.37, for Linux (x86_64) using  EditLine wrapper
    在oltp测试中,基本分为三个阶段:

    1、初始化数据

        需要在数据库中提前创建好sbtest数据库,若不创建,也可使用参数指定对应的数据库,进行数据插入准备
       根据自己电脑的实际情况拼写参数,如,mysql-user和mysql-password分别对应的是数据库的登录名和密码,mysql-socket需要指定mysql.sock文件的位置【查看my.cnf配置文件】
     
    sysbench --test=oltp.lua --mysql-table-engine=innodb --oltp-tables-count=3 --oltp-table-size=1000000 --mysql-user=root --mysql-password=123456 --mysql-socket=/var/lib/mysql/mysql.sock  prepare

     参数:

    --mysql-db=test          //测试数据库
    --mysql-user=root        //用户名
    --myssql-password=123456   //密码
    --oltp-tables-count=8      //表的数量
    --oltp-table-size=100000    //每张表记录为10万
    --mysql-sock=/var/lib/mysql/mysql.sock     //mysql.sock路径,本地连接时可指定host ip连接,也可直接使用Mysql.sock连接
    执行完建表语句后,生成一下数据
    执行结果:在使用root账户登录数据库,在sbtest数据库中插入三张表,每张表1000000条数据

    2、执行测试

    sysbench --test=oltp.lua --mysql-table-engine=innodb --oltp-tables-count=3 --oltp-table-size=1000000 --mysql-user=root --mysql-password=123456 --mysql-socket=/var/lib/mysql/mysql.sock --max-time=60 --max-requests=0 --num-threads=8 --report-interval=10 run

    新增的几个参数选项:

    --num-threads=8    //线程数为8
    --max-time=60      //测试时间为60s
    --report-interval=10    //报告打印周期为10s,每10s打印一次
    --oltp-read-only=off    //非只读操作测试

    最重要的参数指标: 总的事务数,每秒事务数,时间统计信息(最大、最小、平均、95%以上语句响应时间)
     

     3、清理数据

    sysbench --test=oltp.lua --mysql-table-engine=innodb --oltp-tables-count=3 --oltp-table-size=1000000 --mysql-user=root --mysql-password=123456 --mysql-socket=/var/lib/mysql/mysql.sock cleanup
     

    测试过程中的问题:

    1、oltp的位置指定,报错找不到对应的oltp.lua文件
    注:此处需要指定oltp.lua脚本位置,sysbench5默认已经指定,如果按照网上或者树上的语句,提示如下报错,找不到对应的文件,发现自己写的路径前又追加了sysbench自带的路径,直接指定到了sysbench子文件夹。
        需要改变路径,直接指定oltp.lua即可
    sysbench --test=oltp.lua --mysql-table-engine=innodb --oltp-tables-count=3 --oltp-table-size=1000000 --mysql-user=root --mysql-password=123456 --mysql-socket=/var/lib/mysql/mysql.sock prepare 
  • 相关阅读:
    ASP.NET在MVC控制器中获取Form表单值的方法
    MVC中几种常用ActionResult
    EF 配置MySQL
    HTTP 错误 403.6
    26个Jquery使用小技巧(转)
    Win2008R2配置WebDeploy(转)
    IIS快捷方式
    发布你的程序包到Nuget
    PostgreSQL recovery.conf恢复配置
    PostgreSQL 9.5 高可用、负载均衡和复制
  • 原文地址:https://www.cnblogs.com/hftian/p/9767767.html
Copyright © 2011-2022 走看看