V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Get Google Chrome
Vimium · 在 Chrome 里使用 vim 快捷键
ColinZeb
V2EX  ›  Chrome

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

  •  
  •   ColinZeb · Sep 30, 2018 · 3054 views
    This topic created in 2779 days ago, the information mentioned may be changed or developed.

    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 问题不大

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

    1538280599(1).jpg

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

    5 replies    2018-10-01 21:47:18 +08:00
    whileFalse
        1
    whileFalse  
       Sep 30, 2018
    好奇这个 api 是干啥的。
    98jiang
        2
    98jiang  
       Sep 30, 2018
    你是要展示到页面的吗,那 16M 不很大吗
    junjieyuanxiling
        3
    junjieyuanxiling  
       Sep 30, 2018 via Android
    我加载一个 24MB 的本地小说( UTF-8 编码)也才 7.98 秒……
    MinonHeart
        4
    MinonHeart  
       Sep 30, 2018
    document? 应该是浏览器渲染(显示) 16M 的文本内容慢吧
    ColinZeb
        5
    ColinZeb  
    OP
       Oct 1, 2018 via iPhone
    @MinonHeart 火狐没问题的。注意看截图是网络加载占用时间
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2991 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 08:39 · PVG 16:39 · LAX 01:39 · JFK 04:39
    ♥ Do have faith in what you're doing.