使用 awk 和 sort 等命令统计日志中每秒的请求数。执行以下命令可以获取每秒的 QPS:
awk '{print $4}' /opt/data/www/logs/*.log | cut -d: -f1-3 | sort | uniq -c | sort -nr | head -20
上述命令会输出访问量最多的前10秒以及对应的请求数量。第一列表示该秒的请求数,第二列表示具体的时间(日期和小时分秒)。
查看最高 QPS 时请求了什么接口
grep "13/Dec/2024:11:20" /opt/data/www/logs/*.log | awk '{print $7}' | sort | uniq -c | sort -nr | head -20
区分来源 IP:
grep "13/Dec/2024:11:20" /opt/data/www/logs/*.log | awk '{print $1}' | sort | uniq -c | sort -nr
访问次数最多的前 20 个接口
awk '{print $7}' /opt/data/www/logs/*.log | sort | uniq -c | sort -nr | head -n 20
查看前 20 个访问次数最多的 IP:
awk '{print $1}' /opt/data/www/logs/*.log | sort | uniq -c | sort -nr | head -20
来筛选该 IP 地址的请求,并提取出请求的接口路径
grep "127.0.0.1" /opt/data/www/logs/*.log | awk '{print $7}' | sort | uniq -c | sort -nr