awk '{print $7}' access.log | sort | uniq -c | sort -rn | head -20
# 统计回源最多的 URL
CDN 控制台显示命中率 98%,源站 access log 的 QPS 却从 200 涨到 900,两边数字对不上,账单也在涨。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。
原因不复杂,命中率按请求数算,静态小文件占了大头,命中率自然好看。真正回源的是少数大接口和动态请求,次数少但代价高。只请求数不看带宽和回源类型,指标就会骗人。
「缓存命中率统计」确认了原因之后,改动尽量只碰那一处,顺手改的东西后面最容易出问题。备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。
接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。
处理上按这个顺序:把命中率拆成按内容类型和按带宽两个口径;单独统计动态请求的回源率;对大接口单独看回源 QPS 而不是整体命中率;以源站日志为准核对 CDN 报表。
改完只确认一件事:能看到回源集中在少数 URL 上 动态接口的回源率单独算出来 指标和源站日志对得上。
