• 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 



  • 相关阅读:
    二分查找 java代码
    Failed at the bitcore-node@3.1.3 preinstall script './scripts/download' 设置linux proxy (代理)的方式
    github命令行实用操作
    H5无障碍旁白模式使用网页支持
    Vue框架搭建入门到熟悉
    解决IOS下返回不刷新的问题
    小程序—跳转 数据传递
    微信小程序——地图
    常用的正则判断
    JS 控制输入框输入表情emoji 显示在页面上
  • 原文地址:https://www.cnblogs.com/kunpengv5/p/7477614.html
Copyright © 2020-2023  润新知