zoukankan      html  css  js  c++  java
  • 性能测试相关脚本

    1,restime统计响应时间

    #!/bin/bash
    #统计日志响应时间用
    if [ $# -lt 1 ]; then
        echo "at least have one param; "
        echo "ex: restime a.log b.log *.log"
        exit 1
    fi
    . lgq_config.sh
    for((i=1;i<=$#;i++));do
        opt=`echo ${!i} | grep "^-F" | awk -F"F" '{print $2}'`
        if [ x$opt = x"" ]; then
            file_list="$file_list ${!i}"
        else
            ff=$opt
        fi
    done
    
    echo $file_list | xargs cat | grep $ff | awk -F"$ff" 'BEGIN{
        max=0;
        min=10000;
        n=0;
        total=0;
        min_log="";
        max_log="";
    }{
        t=$2+0;
        n++;
        total+=t;
        if(t>max) {
            max=t;
            max_log=$0;
        }
        if(t<min) {
            min=t;
            min_log=$0;
        }
    }END{
        print "33[32mavg time:33[37m",total/n"ms";
        print "33[32mmax time:33[37m",max"ms."
        print "33[32mmin time:33[37m",min"ms."
        print "33[31mmax time log:33[37m",max_log;
        print "33[31mmin time log:33[37m",min_log;
    }'
    restime

    2,qps 统计平均处理时长

    #!/bin/bash
    #每秒平均处理请求次数
    
    if [ $# -lt 1 ]; then
        echo "at least have one param; "
        echo "ex: qps [-f] a.log | qps a.log b.log *.log"
        exit 1
    fi
    . lgq_config.sh
    if [ $1 = "-f" ]; then
        echo "run real time mod : like 'tail -f' "
        tail -f  $2 | grep $ff | awk '{print $3}' | uniq -c
    fi
    
    for((i=1;i<=$#;i++));do
        file_list="$file_list ${!i}"
    done
    
    echo $file_list | xargs cat | grep $ff | awk '{print $3}' | uniq -c | awk '{n++;all+=$1}END{print "avg query per secon
    d : "all/n}'
    qps

    3,日志格式

    NOTICE: 05-15 09:01:38:  phone_normal * 10061 [  logid:50837222  ][  proctime:total:0(ms) queue:0+rev:0+proc:0+write:0  ][  reqip:10.48.31.106  ][  re
    qsvr:mcpack_press  ][  cmdno:  ][  svrname:query  ][  errno:  ][    ][  city.area:哈尔滨市. phone:0451-57982263 error:OK result:(0451)57982263   ][   
     ]
    NOTICE: 05-15 09:01:38:  phone_normal * 10051 [  logid:50837224  ][  proctime:total:0(ms) queue:0+rev:0+proc:0+write:0  ][  reqip:10.48.31.106  ][  re
    qsvr:mcpack_press  ][  cmdno:  ][  svrname:query  ][  errno:  ][    ][  city.area:上海市. phone:021-57150725 error:OK result:(021)57150725   ][    ]
    NOTICE: 05-15 09:01:38:  phone_normal * 10064 [  logid:50837225  ][  proctime:total:0(ms) queue:0+rev:0+proc:0+write:0  ][  reqip:10.48.31.106  ][  re
    qsvr:mcpack_press  ][  cmdno:  ][  svrname:query  ][  errno:  ][    ][  city.area:长春市. phone:0431-87613255 error:OK result:(0431)87613255   ][    ]
    NOTICE: 05-15 09:01:38:  phone_normal * 10048 [  logid:50837223  ][  proctime:total:0(ms) queue:0+rev:0+proc:0+write:0  ][  reqip:10.48.31.106  ][  re
    qsvr:mcpack_press  ][  cmdno:  ][  svrname:query  ][  errno:  ][    ][  city.area:长春市. phone:0431-87970378 error:OK result:(0431)87970378   ][    ]
    NOTICE: 05-15 09:01:38:  phone_normal * 10063 [  logid:50837227  ][  proctime:total:0(ms) queue:0+rev:0+proc:0+write:0  ][  reqip:10.48.31.106  ][  re
    qsvr:mcpack_press  ][  cmdno:  ][  svrname:query  ][  errno:  ][    ][  city.area:鹤壁市. phone:0392-3316991 error:OK result:(0392)3316991   ][    ]
    NOTICE: 05-15 09:01:38:  phone_normal * 10058 [  logid:50837226  ][  proctime:total:0(ms) queue:0+rev:0+proc:0+write:0  ][  reqip:10.48.31.106  ][  re
    qsvr:mcpack_press  ][  cmdno:  ][  svrname:query  ][  errno:  ][    ][  city.area:长春市. phone:0431-87096667 error:OK result:(0431)87096667   ][    ]
    NOTICE: 05-15 09:01:38:  phone_normal * 10057 [  logid:50837229  ][  proctime:total:0(ms) queue:0+rev:0+proc:0+write:0  ][  reqip:10.48.31.106  ][  re
    qsvr:mcpack_press  ][  cmdno:  ][  svrname:query  ][  errno:  ][    ][  city.area:长春市. phone:0431-87961042 error:OK result:(0431)87961042   ][    ]
    NOTICE: 05-15 09:01:38:  phone_normal * 10050 [  logid:50837228  ][  proctime:total:0(ms) queue:0+rev:0+proc:0+write:0  ][  reqip:10.48.31.106  ][  re
    qsvr:mcpack_press  ][  cmdno:  ][  svrname:query  ][  errno:  ][    ][  city.area:深圳市. phone:0755-25689693 error:OK result:(0755)25689693   ][    ]
    NOTICE: 05-15 09:01:38:  phone_normal * 10060 [  logid:50837232  ][  proctime:total:0(ms) queue:0+rev:0+proc:0+write:0  ][  reqip:10.48.31.106  ][  re
    qsvr:mcpack_press  ][  cmdno:  ][  svrname:query  ][  errno:  ][    ][  city.area:长春市. phone:0431-85771613 error:OK result:(0431)85771613   ][    ]
    NOTICE: 05-15 09:01:38:  phone_normal * 10059 [  logid:50837231  ][  proctime:total:0(ms) queue:0+rev:0+proc:0+write:0  ][  reqip:10.48.31.106  ][  re
    qsvr:mcpack_press  ][  cmdno:  ][  svrname:query  ][  errno:  ][    ][  city.area:上海市. phone:021-34711765 error:OK result:(021)34711765   ][    ]
    日志示例

    4,上述脚本依赖的一个记录变量的文件

    ff="total:"  #默认分隔符,grep关键字

  • 相关阅读:
    dirs命令
    pwd命令
    ls命令
    rmdir命令
    install命令和cp命令的区别
    ./configure,make,make install的作用
    install 命令
    Make 命令
    linux configure使用方法
    Linux下which、whereis、locate、find命令的区别
  • 原文地址:https://www.cnblogs.com/bobodeboke/p/3759363.html
Copyright © 2011-2022 走看看