LINUX awk操作
公司要进行系统优化,现对nginx服务请求时间及请求量进行分析。
在linux下的nginx请求文件进行切割
获取access log 日志分析
1:获取uri和请求时间记录到tmp_0.log
cat app_access.log | awk -F '|' '{print $5 " " $11}' > tmp_0.log
2:将对应的请求URI及请求时间分别进行统计 请求次数(count),请求总时间(sum),平均时间(avg),最大请求时间(max),最小请求时间(min)
awk '{ sum_arr[$1]+=$2;count_arr[$1]+=1; min_arr[$1]=min_arr[$1]==''? $2 : ($2<min_arr[$1]?$2:min_arr[$1]) ;max_arr[$1]=$2>max_arr[$1]?$2:max_arr[$1] } END { for(i in sum_arr){print "action:"i" ,total_time:"sum_arr[i]" max:"max_arr[i]" count:"count_arr[i]" min:"min_arr[i]" avg:"sum_arr[i]/count_arr[i];} }'