背景:最近在對接sentinel到項目中,利用jMeter壓測確定限流規則的QPS值,同時想查看一下線上接口的QPS值。
材料:日誌是本地壓測產生的日誌,重要的是格式
2019-07-03T11:16:23+0800|127.0.0.1|-|-|GET|http|127.0.0.1|/iptv/api/new/video/play/get?...
2019-07-03T11:16:23+0800|127.0.0.1|-|-|GET|http|127.0.0.1|/iptv/api/new/video/play/get?...
2019-07-03T11:16:23+0800|127.0.0.1|-|-|GET|http|127.0.0.1|/iptv/api/new/video/play/get?...
問題:如何某個接口每秒的QPS那?
分析:看如下日誌,2019-07-03T11:16:23+0800|127.0.0.1|-|-|GET|http|127.0.0.1|/iptv/api/new/video/play/get?...;其實,我們就是要統計接口/iptv/api/new/video/play/get在相同秒數(即:同一個時間秒數,2019-07-03T11:16:23)出現的次數。
解決辦法:先拋出命令行
tail -f host-access.log | grep '/iptv/api/new/video/play/get' | awk -F '|' '{print substr($1,1,19)}' | uniq -c
- 下車了。。。