研发工具
从 HAR 日志找慢请求:先分清耗时、错误和未知值
极捷工具编辑 · 更新于
用四条演示请求练习筛选 503 响应,核对毫秒、响应体大小和未知字段,下载当前筛选摘要。
打开HAR 请求记录查看 →操作步骤
- 打开 HAR 请求记录查看,先点击载入演示日志,再点分析日志。处理自己的问题时,在浏览器 Network 面板记录复现过程,导出 HAR 后通过本页导入;尽量选浏览器提供的 sanitized 导出。
- 先看总数、HTTP 4xx/5xx 和状态 0 的计数。默认按耗时从长到短排序,找到最慢的请求,核对其方法、网址和状态。
- 将状态筛选改为 4xx / 5xx,再输入 items,演示中应只剩一条 503 请求。清空文字筛选并选择状态 0,可以单独查看未得到普通 HTTP 状态的记录。
- 下载当前筛选摘要,打开 jijie-requests.json,核对 count 和 requests 数组。筛选会影响导出范围;需要全部请求时,先清空搜索并把状态改回全部。
跟着示例试一次
演示日志共 4 条,HTTP 4xx/5xx 为 1 条,状态 0 为 1 条。最慢请求 https://example.com/api/items?page=1 的耗时 1800 ms、状态 503、响应体 80 B。首页请求为 85 ms、响应体 1200 B、解码内容 3600 B;logo.png 为 304、响应体 0 B。
怎样确认结果正确
筛选 items 与 4xx / 5xx 后应剩 1 条,下载 JSON 的 count 为 1,requests[0].status 为 503、duration 为 1800。原日志中 aborted 请求的 time 和大小是 -1,页面显示未知,导出为 null;304 的响应体 0 必须仍是零,不能与未知混淆。
常见问题与边界
最多 10 MiB、5000 条;需要包含 log.entries 的 UTF-8 HAR JSON,缺少关键字段会整份报错而非悄悄漏条。耗时来自记录的 time,不等于后端处理时间;并行请求耗时相加也不是页面加载时间。响应体 bodySize 不含响应头,content.size 是解码内容大小,不应互相替代。状态 0 不能独自说明失败原因。工具只读本页内存,不上传、不访问网址、不渲染响应正文;刷新即清空。摘要不是 HAR,不含请求头或正文,但完整网址可能含敏感参数,未自动脱敏。Chrome sanitized 也不等于所有内容都无敏感信息;分享前检查。参考 Chrome Network 官方导出说明:https://developer.chrome.com/docs/devtools/network/reference/#save-as-har 。