Sysbench scripts源码分析

本文详述Sysbench scripts的源码结构,包括run.sh和analyze.sh脚本的功能与逻辑处理,涉及mysql参数采集、性能测试、数据分析等,旨在促进代码理解和维护。
摘要由CSDN通过智能技术生成

Sysbench scripts源码分析

 

目的

基于sysbench scripts使用说明文档,为了便于开发和使用人员进一步对代码理解和接下来的维护工作,对脚本进行详细说明。

 

脚本说明

         脚本文件夹中包括以下内容:

run.sh:自动化测试脚本。该脚本执行一系列测试和数据采集工作,具体的测试和数据采集脚本包含在test文件夹中。

         analyze.sh:自动化分析脚本。该脚本对采集的数据信息,进行分析,具体的分析脚本包含在analyze文件夹中。

         test/:测试脚本文件夹。该文件夹中包括以下脚本文件:

         ----global_stat.sh:获取mysql的所有参数的信息。

----innodb_stat.sh:通过“showengine innodb status\G”获取innodb存储引擎的状态参数信息。

----mysql_vars.sh:获取mysql当前配置的所有参数的值。

----server_op.sh:对mysqlserver进行启动、关闭操作。

----sysbench_oltp.sh:执行sysbench程序,进行基准测试的核心工作。

----iostat.sh:获取当前的io信息。

----vmstat.sh:获取当前的内存信息。

analyze/:分析脚本文件夹。该文件夹中包括以下脚本文件:

----analyze_global_innodb_dirty_page_ratio.sh:分析global_stat.sh脚本采集的数据中,innodb的脏页率。

----analyze_global_innodb_page_flushed.sh:分析global_stat.sh脚本采集的数据中,innodb的页刷新值。

----analyze_innodb_checkpoint.sh:分析innodb_stat.sh脚本采集的数据中,innodb的checkpoint值。

----analyze_innodb_log_flushed_fallbehind.sh:分析innodb_stat.sh脚本采集的数据中,innodb的日志刷新和当前lsn的差值。

----analyze_sysbench_performance_args.sh:分析sysbench_oltp.sh脚本测试结果中重要的参数。主要包括每秒事务数、每秒请求数等。

----analyze_sysbench_report.sh:分析sysbench_oltp.sh脚本测试结果,生成测试的报告。

注意:以上分析脚本中,没有对iostat.sh、vmstat.sh进行分析,这是由于采集的数据都需要详细了解,不做具体的分析。而mysql_vars.sh获取的mysql配置的参数值,仅供分析时参考使用。此外,有些脚本中,实际处理的语句仅有一条,但是为了灵活性和扩展性,也将其编写为单个的脚本。

 

脚本分析

1、run.sh脚本分析

1.1 重要函数分析

get_key_value():获取输入参数的值,输入形式为:--key=value。

usage():显示脚本使用和参数说明。

print_default():显示参数的默认值。

parse_options():解析输入参数。

1.2 逻辑处理分析

1)为每个线程测试创建该线程数的文件夹。如果仅测试某一线程数,则不创建。代码如下所示:

if [ $MIN_THREADS -lt $MAX_THREADS ]

         then

           threadpath=${OUTPUTDIR}/${threads}

         else

           threadpath=${OUTPUTDIR}

         fi

 

2)为每个线程下每次测试创建该测试次数的文件夹。如果仅测试一次,则不创建。代码如下所示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值