前面知道sysbench基准测试的主要步骤为:prepare(准备数据集)→ run(运行测试)→ cleanup(清除数据集)

这一节介绍oltp.lua测试。

oltp基准测试模拟了一个简单的事物处理系统的工作负载。

①、准备数据集(使用test数据库,用户名root,密码123456,表数目8,每张表记录10万,测试oltp.lua):

[root@localhost db]# sysbench --test=oltp.lua --mysql-db=test --mysql-user=root --mysql-password=123456 --oltp-tables-count=8 --oltp-table-size=100000 prepare

对选项作如下说明:

--test=oltp.lua  //测试用的lua脚本,可以使用绝对路径。该脚本位于sysbench源码包的“sysbench-1.0/sysbench/tests/db/”文件夹下面。当然,你也可以自己写lua脚本。

--mysql-db=test           //测试数据库

--mysql-user=root        //用户名

--myssql-password=123456   //密码

--oltp-tables-count=8      //数据表

--oltp-table-size=100000    //每张表记录为10万

执行结果是:在test数据库中创建8张表,表名分别为“sbtest1...8”,每张表中有记录10万条。

②、执行oltp基础测试(线程数10,最大执行时间60s,只读off,打印信息间隔10s):

[root@localhost db]# sysbench --test=oltp.lua --mysql-db=test --mysql-user=root --mysql-password=123456 \
--oltp-tables-count=8 --oltp-table-size=100000 --num-threads=10 --max-time=60 --report-interval=10 --oltp-read-only=off run

对选项作如下说明:

--num-threads=10    //线程数为10

--max-time=60      //测试时间为60s

--report-interval=10    //报告打印周期为10s

--oltp-read-only=off    //非只读操作测试

运行结果如下:

sysbench 1.0: multi-threaded system evaluation benchmark

Running the test with following options:  //测试属性,可以通过选项设定
Number of threads: 10
Report intermediate results every 10 second(s)
Initializing random number generator from current time

Initializing worker threads...

Threads started!

//每10秒钟报告一次测试结果,tps、每秒读、每秒写、99%以上的响应时长统计

[ 10s] threads: 10, tps: 81.24, reads: 1149.41, writes: 325.75, response time: 280.29ms (95%), errors: 0.00, reconnects: 0.00
[ 20s] threads: 10, tps: 72.20, reads: 1012.70, writes: 292.00, response time: 318.42ms (95%), errors: 0.00, reconnects: 0.00
[ 30s] threads: 10, tps: 79.40, reads: 1111.60, writes: 317.60, response time: 284.35ms (95%), errors: 0.00, reconnects: 0.00
[ 40s] threads: 10, tps: 74.00, reads: 1034.59, writes: 295.60, response time: 350.64ms (95%), errors: 0.00, reconnects: 0.00
[ 50s] threads: 10, tps: 80.90, reads: 1127.81, writes: 320.90, response time: 309.40ms (95%), errors: 0.10, reconnects: 0.00
[ 60s] threads: 10, tps: 79.90, reads: 1126.20, writes: 322.80, response time: 309.03ms (95%), errors: 0.00, reconnects: 0.00
OLTP test statistics:
queries performed: //性能统计
read: 65632     //读总数,select语句
write: 18749    //写总数,insert、delete、update语句
other: 9375     //其它语句,如commit等
total: 93756           //总的执行语句数
transactions: 4687 (78.06 per sec.)  //总的事物数(每秒处理事物数)
read/write requests: 84381 (1405.28 per sec.)  //读写请求次数(每秒的读写次数)
other operations: 9375 (156.13 per sec.)    //其它操作的每秒执行数
ignored errors: 1 (0.02 per sec.)
reconnects: 0 (0.00 per sec.)

General statistics:
total time: 60.0456s        //总时间
total number of events: 4687    //事物总数
total time taken by event execution: 600.0783s   //所有事务耗时相加(不考虑并行因素)
response time:    //应答时间
min: 31.96ms    //最小
avg: 128.03ms    //平均
max: 690.49ms    //最大
approx. 95 percentile: 317.65ms  //95%语句执行时间

Threads fairness:  //线程公平性
events (avg/stddev): 468.7000/5.04
execution time (avg/stddev): 60.0078/0.01

最重要的参数指标:

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

③、删除测试数据集

[root@localhost db]# sysbench --test=oltp.lua --mysql-db=test --mysql-user=root --mysql-password=123456 --oltp-tables-count=8 --oltp-table-size=100000 cleanup

后续:

这里的测试使用的是sysbench自带的oltp.lua脚本。也可以写自己的lua脚本来做相关测试。呃,可是lua不会...

sysbench基准测试(2)——oltp.lua测试的更多相关文章

  1. 使用sysbench 进行msyql oltp压力测试

    安装参考: https://github.com/akopytov/sysbench#linux#参数说明 需要说明的选项: mysql-db=dbtest1a:测试使用的目标数据库,这个库名要事先创 ...

  2. sysbench 0.5 oltp测试笔记

    sysbench 0.5相比0.4版本的主要变化是,oltp测试结合了lua脚本,不需要修改源码,通过自定义lua脚本就可以实现不同业务类型的测试.同时0.5相比0.4需要消耗更多的cpu资源. 1. ...

  3. sysbench 安装、使用和测试

    摘要:      sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据库的性能测试.目前支持的数据库有MySQL.Oracle和Post ...

  4. Mysql多线程性能测试工具sysbench 安装、使用和测试

    From:http://www.cnblogs.com/zhoujinyi/archive/2013/04/19/3029134.html 摘要:      sysbench是一个开源的.模块化的.跨 ...

  5. mysql sysbench基准测试

    git项目地址: https://github.com/akopytov/sysbench 利用sysbench很容易对mysql做性能基准测试(当然这个工具很强大,除了测试主流数据库性能,还能测试其 ...

  6. 利用sysbench进行MySQL OLTP基准测试

      Preface       In order to know clearly about the real performance threshold of database server,we ...

  7. sysbench基准测试工具

    一.简介SysBench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况.当前功能允许测试的系统参数有:file I/O performance (文件I ...

  8. sysbench基准测试工具使用

    1.源码编译安装 源码下载地址(目前有0.4/0.5/1.0三个分支版本):https://github.com/akopytov/sysbench 编译安装: unzip sysbench-1.0. ...

  9. 使用 sysbench对mysql进行压力测试介绍之一

    sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试.数据库目前支持MySQL/Oracle/PostgreSQL.本文只是简单演示一下几种测试的用 ...

随机推荐

  1. ACM 五一杭电赛码"BestCoder"杯中国大学生程序设计冠军赛小记

    对于这项曾经热爱的竞赛,不得不说这是我最后一年参加ACM比赛了,所以要珍惜每一次比赛的机会. 五一去杭电参加了赛码"BestCoder"杯中国大学生程序设计冠军赛,去的队伍包括了今 ...

  2. HDU1576 A/B

    暴力出奇迹,我就知道没取余那么正当,肯定有什么奇淫怪巧,果然5分钟A掉. #include<cstdio> #include<cstdlib> #include<iost ...

  3. LOJ6039. 「雅礼集训 2017 Day5」珠宝【决策单调性优化DP】【分治】【思维好题】

    LINK 懒得搬题面 简要题意:n个物品,每个物品有一个价格和一个吸引力,问你对于\(i \in [1,k]\),花费i的价格能得到的最大吸引力 其中价格的范围很小,在\([1,300]\)范围内 思 ...

  4. 不再为命名而苦恼!使用 MSTestEnhancer 单元测试扩展,写契约就够了

    有没有觉得命名太难?有没有觉得单元测试的命名更难?没错,你不是一个人!看看这个你就知道了:程序员最头疼的事:命名 或它的英文原文 Don’t go into programming if you do ...

  5. CCF 集合竞价

    题目: 问题描述 某股票交易所请你编写一个程序,根据开盘前客户提交的订单来确定某特定股票的开盘价和开盘成交量. 该程序的输入由很多行构成,每一行为一条记录,记录可能有以下几种: 1. buy p s ...

  6. iOS 模态框覆盖导航栏

    1.使用window 覆盖 2.试图添加到 如果有一个场景:首页三个tab,要求只覆盖Navigation ,而不影响Tab使用,那么使用window 覆盖就不满足了.      这里我们可以使用如下 ...

  7. scrapy模拟浏览器爬取验证码页面

    使用selenium模块爬取验证码页面,selenium模块需要另外安装这里不讲环境的配置,我有一篇博客有专门讲ubuntn下安装和配置模拟浏览器的开发 spider的代码 # -*- coding: ...

  8. python: find the index of a given value in a list

    ["foo", "bar", "baz"].index("bar")

  9. cnpm 私服搭建(基于docker)

    备注:   使用docker-compose 进行安装 1. 代码clone git clone https://github.com/cnpm/cnpmjs.org.git 2. docker bu ...

  10. 使用PHP类库PHPqrCode生成二维码

    PHPqrCode是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo, 查看地址:http://phpqrcode.sourceforge.net/.    下载官 ...