直接测proxy_cache弱网加速效果需观察后端压力下降、ttfb缩短、响应体传输更稳定三维度:先确认缓存生效(检查cache_valid、cache_key、响应头),再用curl+tc模拟弱网测ttfb,接着监控upstream_cache_status和后端负载变化,最后验证大文件续传稳定性。

直接测 proxy_cache 在弱网下的加速效果,不能只看“缓存是否命中”,关键得模拟真实弱网链路,观察后端压力下降、首字节时间(TTFB)缩短、响应体传输更稳定这三个维度。以下方法实操性强,不依赖复杂压测工具。
一、先确认缓存已真正生效
弱网下若缓存没配对,测了也白测。检查三处:
-
proxy_cache_valid是否覆盖目标状态码(如200 302 1h),且响应头含Cache-Control: public或明确X-Cache-Status: HIT; -
proxy_cache_key显式包含$scheme$host$request_uri,避免因 User-Agent、Cookie 等动态头导致缓存失效; - 后端响应头未带
Cache-Control: no-cache、Vary: *或Set-Cookie(这些会强制 bypass 缓存)。
二、用 curl 模拟弱网并对比 TTFB
不用写脚本,一条命令就能看出差异:
# 正常网络下首次请求(冷缓存)
curl -w "TTFB: %{time_starttransfer}s\n" -o /dev/null -s http://example.com/static/logo.png
# 弱网模拟(延迟 200ms + 5% 丢包),第二次请求(应命中缓存)
tc qdisc add dev eth0 root netem delay 200ms loss 5%
curl -w "TTFB: %{time_starttransfer}s\n" -o /dev/null -s http://example.com/static/logo.png
tc qdisc del dev eth0 root # 清理
若缓存有效,第二条的 TTFB 应接近 0.02–0.05 秒(Nginx 本地响应耗时),远低于后端真实处理的 0.3–1.2 秒;若仍 >0.2 秒,说明缓存未命中或被 bypass。
安装并运行 Aperture(Lightning Labs 的 L402 闪电反向代理),用于创建 L402 付费墙、配置付费 API 端点、为其他代理托管付费内容或测试 L402 认证流程。
三、监控后端负载变化
弱网本身不降低后端 QPS,但缓存能显著减少其实际处理请求数。在弱网复现期间,对比两组指标:
- Nginx 日志中
upstream_cache_status字段:HIT比例应 ≥85%(静态资源场景); - 后端服务 CPU/连接数:开启缓存后,相同弱网客户端并发下,后端活跃连接数应下降 60% 以上;
-
proxy_cache_miss计数增长极慢,而proxy_cache_hit快速上升。
四、验证大文件弱网续传稳定性
对 JS/CSS/图片等资源,弱网易中断。启用缓存后,客户端重试请求可直接从 Nginx 返回完整响应,无需重连后端:
- 用浏览器开发者工具禁用网络缓存,手动断开再重连(或用 Chrome 的 “Slow 3G” 预设);
- 刷新页面,观察 Network 面板中资源状态码:应为
200(非206),Size 显示完整字节数,Timing 中 “Waiting” 时间极短; - 若出现大量
502或504,说明缓存未生效,或proxy_buffering on导致弱网下响应体堆积超时。
不复杂但容易忽略










