chrome 加载大文本(document)为什么这么慢?

2018-09-30 12:33:01 +08:00
 ColinZeb

chrome 坑了我一把,简单记载下流程,不上图了。

  1. 同事让我排查某个 API 响应过慢的原因
  2. 一个返回 16M JSON 的 API,Chrome 网址直接输入地址 50S 左右,刷新时时间上下变动 10s 左右
  3. 本地访问 localhost,排除网速原因
  4. API 只执行代码不返回,1 秒就返回,排除数据库原因
  5. 启用 gzip 压缩,文件压缩到 1m,时间没有明显变化,同样再 50s 上下波动,排除网络问题
  6. 新建项目只执行 SQL 语句并返回,不写其他代码,时间没有明显变化,排除架构问题
  7. 关键来了,用 time curl 测试,1.5s 即完成,随怀疑 chrome 问题
  8. 尝试火狐(新安装),1.5s 完成
  9. 尝试 Vivaldi (新安装),时间和 Chrome 没有明显区别
  10. Chrome console 执行 fetch,1.5s 完成
  11. Firefox 执行 fetch 失败,和 chrome 同样的脚本(页面设置阻止读取位于 http://localhost 的一项资源("default-src")。)
  12. 结论:Chromium 的坑,API 问题不大

为了防止误会是渲染过慢,我还上个图吧,下图是未压缩的请求,四个请求条件一样

很好奇是什么原因导致的,也或许我的推断不是很严谨?

2618 次点击
所在节点    Chrome
5 条回复
whileFalse
2018-09-30 15:24:16 +08:00
好奇这个 api 是干啥的。
98jiang
2018-09-30 15:43:58 +08:00
你是要展示到页面的吗,那 16M 不很大吗
junjieyuanxiling
2018-09-30 17:32:40 +08:00
我加载一个 24MB 的本地小说( UTF-8 编码)也才 7.98 秒……
MinonHeart
2018-09-30 18:36:53 +08:00
document? 应该是浏览器渲染(显示) 16M 的文本内容慢吧
ColinZeb
2018-10-01 21:47:18 +08:00
@MinonHeart 火狐没问题的。注意看截图是网络加载占用时间

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/494126

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX