Featured image of post 测试服务访问成功率脚本

测试服务访问成功率脚本

背景

服务有概率直接404,非缠着我查,给了如下脚本测试实体服务接口、LB服务接口、服务网关服务接口。成功迅速定位问题

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/bash

url=$1
count=$2
response=$3
success=0

if [ $# != 3 ]; then
    echo "本脚本需要三个参数:"
    echo "1、第一个参数是服务的url;"
    echo "2、第二个参数是请求次数;"
    echo "3、第三个参数是正确返回的特应性内容(即返回内容里正确返回有而错误返回没有的内容)。"
    exit 1
fi

for ((i = 1; i <= $count; i++)); do
    echo "第$i次请求服务: "
    curl $url >>./curl.html
    j=$(cat ./curl.html | grep $response | awk 'NR==1 {print $1}')
    if [ -z $j ]; then
        echo "请求失败!"
    else
        success=$((success + 1))
        echo "请求成功!"
    fi
done

rm -f ./curl.html
sucrate=$(awk 'BEGIN{printf "%.2f%\n",('$success'/'$count')*100}')
echo "总次数: $count, 成功次数: $success, 成功率为: $sucrate"