linux业务访问量,耗时的统计
1. 如果业务入口用的是NGINX,,那么业务访问量统计可以从NG的acc日志获取如下
awk ‘{ print $1 }’ host.access.acc | sort -n | wc -l
输出结果:
1468
代表业务访问量有1468个
2.如果要统计具体IP业务访问量,可以获取如下:
awk ‘{ print $1 }’ host.access.acc | sort -n | uniq -c
输出结果:
44 30.99.225.141
104 30.99.225.142
70 30.99.225.143
51 30.99.225.144
53 30.99.225.145
74 30.99.225.146
76 30.99.225.147
85 30.99.225.148
86 30.99.225.149
87 30.99.225.150
前面数字代表访问量,后面IP代表这个访问量的具体IP
3.如果要统计一段时间具体IP的访问量,比如获取这一个小时的访问量,可以获取如下:
sed -n '/2020:22:58/,/2020:23:58/p' host.access.acc | awk '{print $1}' | sort -n | uniq -c
输出结果:
1 30.99.225.141
2 30.99.225.142
1 30.99.225.143
1 30.99.225.144
5 30.99.225.145
2 30.99.225.146
3 30.99.225.147
1 30.99.225.148
1 30.99.225.149
1 30.99.225.150
4如果要统计一段时间接口访问的平均响应时间也即耗时时间,可以参考如下
比如NG的acc日志的响应时间是在最后一个字段,统计某个时间段10分钟的平均耗时时间
sed -n '/2020:16:00/,/2020:16:10/p' host.access.acc | awk '{sum+=$NF}END{print sum/NR}'
输出结果为:
0.395495
5 如果要统计某个时间段耗时时间大于某个时长,可以参考如下
sed -n '/2020:16:00/,/2020:16:10/p' host.access.acc | awk '{if ($NF>=1) {print $NF}}'
输出结果为:
1.017
1.987
4.700
11.166
1.571
4.795
2.342
10.867
4.660
1.856