sysbench scripts (10)

来源:互联网 发布:伊芙蕾雅4p真假知乎 编辑:程序博客网 时间:2024/06/06 08:35

    衔接上文,以下是analyze文件夹下的脚本。

    10、analyze_global_innodb_dirty_page_ratio.sh脚本

#! /bin/sh############################################################ Copyright (c) 2012, Heng.Wang. All rights reserved.## This program is used to analyze the dirty pages ratio.############################################################ set -x# Get the key value of input arguments format like '--args=value'.get_key_value(){    echo "$1" | sed 's/^--[a-zA-Z_-]*=//'     }# Usage will be helpful when you need to input the valid arguments.usage(){cat <<EOFUsage: $0 [configure-options]  -?, --help                       Show this help message.  --input=<>                       Set the input file path.  --outputdir=<>                   Set the output directory.  Note: this script is intended for internal use by developers.EOF}# Print the default value of the arguments of the script.print_default(){cat <<EOF  The default value of the variables:  input             $INPUT  outputdir         $OUTPUTDIREOF}# Parse the input arguments and get the value of the input argument.parse_options(){  while test $# -gt 0  do    case "$1" in        --input=*)      INPUT=`get_key_value "$1"`;;    --outputdir=*)      OUTPUTDIR=`get_key_value "$1"`;;    -? | --help)      usage      print_default      exit 0;;    *)      echo "Unknown option '$1'"      exit 1;;    esac    shift  done}#################################################################INPUT=""OUTPUTDIR=/opt/resultparse_options "$@"if [ -z $INPUT ]then  echo "Please give the input file address!"  exit -1fiif [ -f $INPUT ]then  [[ -d $OUTPUTDIR ]] || mkdir -p $OUTPUTDIR    dir1=`dirname $INPUT`  dir2=`dirname $dir1`    cat $INPUT | awk ' BEGIN { dt=-1;dr=-1;df=-1 } /Innodb_buffer_pool_pages_data/ \  { if (dt==-1) { dt=$4} else { dt+=$4  } }  /Innodb_buffer_pool_pages_dirty/ \  { if (dr==-1) { dr=$4} else { dr+=$4  } } /Innodb_buffer_pool_pages_free/ \  { if (df==-1) { df=$4} else { df+=$4  } ; print (100*dr)/(1+dt+df)  } ' \  >$OUTPUTDIR/dirty_page_ratio_${dir2##*/}_${dir1##*/}.result  exit 0else  echo "The input file is not exist!"  echo "Please be double check the input file!"  exit -1 fi


原创粉丝点击