- 前言
- 查找最高的10个QPS
- 查找最低的10个QPS
- 查找QPS最高的10个及其接口地址
- 查找QPS最低的10个及其接口地址
- 统计指定接口的QPS
通过分析nginx的 access.log 来分析QPS
其中每一条都是这种格式
> 111.37.176.163 - - [02/May/2022:12:20:23 +0800] "GET /api/dyTag_test/tag HTTP/1.1" 404 6622 "-" "jianpian-android/350"
查找最高的10个QPS我只要像sql语句一样 按时间分组统计就能获得QPS了
# awk '{print $4}' 输出第四个参数 即时间
# uniq -c 合并相同数据
# sort -rn 倒序 访问高的在最上面
# head -n 10 取10条
cat access.log | awk '{print $4}'| uniq -c | sort -rn | head -n 10
# 数据示例
19608 [16/Mar/2022:09:30:37
19458 [16/Mar/2022:09:30:36
19401 [16/Mar/2022:09:30:35
18762 [16/Mar/2022:09:30:34
18688 [16/Mar/2022:09:32:30
18325 [16/Mar/2022:09:32:28
18034 [16/Mar/2022:09:32:32
17840 [16/Mar/2022:09:32:29
17594 [16/Mar/2022:09:32:31
12012 [16/Mar/2022:09:30:33
查找最低的10个QPS
# sort -n 正序 访问低的在最上面
cat access.log | awk '{print $4}'| uniq -c | sort -n | head -n 10
# 数据示例
1 [01/Apr/2022:00:04:35
1 [01/Apr/2022:00:31:25
1 [01/Apr/2022:01:19:09
1 [01/Apr/2022:01:19:10
1 [01/Apr/2022:01:56:43
1 [01/Apr/2022:02:10:32
1 [01/Apr/2022:02:10:33
1 [01/Apr/2022:02:10:34
1 [01/Apr/2022:02:10:37
1 [01/Apr/2022:02:10:38
查找QPS最高的10个及其接口地址
# $7 是url
cat access.log | awk '{print $4 $7}'| uniq -c | sort -rn | head -n 10
# 数据展示
19608 [16/Mar/2022:09:30:37/
19458 [16/Mar/2022:09:30:36/
19401 [16/Mar/2022:09:30:35/
18762 [16/Mar/2022:09:30:34/
18688 [16/Mar/2022:09:32:30/
18325 [16/Mar/2022:09:32:28/
18034 [16/Mar/2022:09:32:32/
17840 [16/Mar/2022:09:32:29/
17594 [16/Mar/2022:09:32:31/
12012 [16/Mar/2022:09:30:33/
查找QPS最低的10个及其接口地址
cat access.log | awk '{print $4 $7}'| uniq -c | sort -n | head -n 10
# 数据示例
1 [01/Apr/2022:00:04:35/
1 [01/Apr/2022:00:31:25/
1 [01/Apr/2022:01:19:06/
1 [01/Apr/2022:01:19:06/navigation.html
1 [01/Apr/2022:01:19:07/fx_plcinf.html?CMD=Monitor%20Start&LANG=EN
1 [01/Apr/2022:01:19:08/cgi-bin/luci/;stok=/locale?form=lang
1 [01/Apr/2022:01:19:08/ifixwebspace/
1 [01/Apr/2022:01:19:09/KingViewWeb/
1 [01/Apr/2022:01:19:10/webconfig.ini
1 [01/Apr/2022:01:56:43/
统计指定接口的QPS
# 统计home接口QPS从高到低展示10条
# 从低到高 sort -n
cat access.log | awk '{print $4 $7}'| grep "/home*"| uniq -c | sort -rn | head -n 10
# 数据展示
2 [09/Apr/2022:23:48:20/home
2 [09/Apr/2022:23:42:50/home
2 [09/Apr/2022:23:42:49/home
2 [09/Apr/2022:23:40:42/home
2 [09/Apr/2022:23:40:39/home
2 [09/Apr/2022:23:40:37/home
2 [09/Apr/2022:23:40:36/home
1 [31/Mar/2022:13:27:39/home.cfm
1 [31/Mar/2022:13:27:39/home.cfm



