V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Get Google Chrome
Vimium · 在 Chrome 里使用 vim 快捷键
ColinZeb
V2EX  ›  Chrome

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

  •  
  •   ColinZeb · 2018-09-30 12:33:01 +08:00 · 2695 次点击
    这是一个创建于 2246 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 条回复    2018-10-01 21:47:18 +08:00
    whileFalse
        1
    whileFalse  
       2018-09-30 15:24:16 +08:00
    好奇这个 api 是干啥的。
    98jiang
        2
    98jiang  
       2018-09-30 15:43:58 +08:00
    你是要展示到页面的吗,那 16M 不很大吗
    junjieyuanxiling
        3
    junjieyuanxiling  
       2018-09-30 17:32:40 +08:00 via Android
    我加载一个 24MB 的本地小说( UTF-8 编码)也才 7.98 秒……
    MinonHeart
        4
    MinonHeart  
       2018-09-30 18:36:53 +08:00
    document? 应该是浏览器渲染(显示) 16M 的文本内容慢吧
    ColinZeb
        5
    ColinZeb  
    OP
       2018-10-01 21:47:18 +08:00 via iPhone
    @MinonHeart 火狐没问题的。注意看截图是网络加载占用时间
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1086 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:50 · PVG 02:50 · LAX 10:50 · JFK 13:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.