[前端] chrome 怎么突破最大并发数限制? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kajweb
V2EX    前端优化

[前端] chrome 怎么突破最大并发数限制?

  •  
  •   kajweb 2022-05-17 11:01:39 +08:00 4587 次点击
    这是一个创建于 1243 天前的主题,其中的信息可能已经有所发展或是发生改变。

    [本地开发 /远程开发]

    目前使用vite基于vscode进行远程开发(本地开发也差不多),但是在** [开发过程] **中,网页加载是未压缩的。

    数百个文件直接加载了源文件,首次打开需要 10 多秒。目前感觉瓶颈在于并发数和网络速率,鉴于网络不可提升,想从并发数入口进行优化。

    目前有三个想法,但是不知道哪个实施比较好:
    1 、撸个中间件,对每份文件进行压缩(可能已经有现成的插件)
    2 、自己修改和编译 chromium ,突破最大并发数(费时费力,但是目前 chrome 找不到配置项)
    3 、使用 http2 、https (初步测试,提升不大)
    4 、同源多域名加载 js (不好改造)

    WeChat91c21d09b61ab91a90b712a024a76ba0.png

    24 条回复    2023-11-21 16:46:22 +08:00
    TomatoYuyuko
        1
    TomatoYuyuko  
       2022-05-17 11:08:54 +08:00
    额。webpack 有 DllReferencePlugin 可以预先打包优化热重载,vite 没用过不过应该有对应的东西吧
    FrankFang128
        2
    FrankFang128  
       2022-05-17 11:12:13 +08:00
    你是怎么做到下载 localhost 的文件花费三秒钟的?
    otakustay
        3
    otakustay  
       2022-05-17 11:13:51 +08:00
    难以想象用 HTTP2 会提升不大,有一种情况是你的 Vite Server 上有 proxy 配置,那么 HTTP2 就开不起来,回退到普通的 HTTPS 自然就慢
    wonderfulcxm
        4
    wonderfulcxm  
       2022-05-17 11:19:07 +08:00 via iPhone
    有没有发现这个最大并发数是多少?我之前写了个利用 js 同时发送多个 ajax 请求的网页爬虫,好像知道这个还挺重要的。
    Leviathann
        5
    Leviathann  
       2022-05-17 11:28:37 +08:00
    @wonderfulcxm 同域名是 6
    wonderfulcxm
        6
    wonderfulcxm  
       2022-05-17 13:09:48 +08:00 via iPhone
    @Leviathann Thanks
    AloneHero
        7
    AloneHero  
       2022-05-17 13:27:32 +08:00 via Android   1
    尤雨溪也说过 http2 对 vite 的帮助没有那么大,说是多路并发仍然会堵塞,但没说具体原因,这和我想象中有些差异,现在楼主也遇到类似问题,我很好奇原因究竟在哪
    monkeyWie
        8
    monkeyWie  
       2022-05-17 13:41:00 +08:00
    有没有可能你的 http2 没成功开启
    Richard14
        9
    Richard14  
       2022-05-17 13:46:06 +08:00
    @AloneHero 同好奇,h2 不就是为了解决类似场景么
    dcsuibian
        10
    dcsuibian  
       2022-05-17 13:47:41 +08:00
    你这根本不是并发数的问题啊,光一个 3.6M 的文件就用了 6 秒。再怎么提升并发数有用么?
    莫非你开了 devtools 的节流模式?(不太可能,毕竟预设也没有这种速率)
    shakaraka
        11
    shakaraka  
    PRO
       2022-05-17 13:56:26 +08:00
    下载花 3 秒,明显就是你带宽不够
    kajweb
        12
    kajweb  
    OP
       2022-05-17 14:30:56 +08:00
    @FrankFang128 @dcsuibian @wunonglin 感谢各位
    图中展示了最大文件,事实上是有很多个文件同时并发请求的。
    刚刚看了一下控制台,感觉的确跟网络速率相关,我还是从压缩入手看看。

    本地到开发机的网速大概是 4-5M/s ,开发模式请求的页面一共约 50M ,
    ![WeChat8bf911d3ad1e9140317f5816f0110896.png]( https://s2.loli.net/2022/05/17/yfeHJa21nGCI5Q4.png)
    kajweb
        13
    kajweb  
    OP
       2022-05-17 14:32:04 +08:00
    @wonderfulcxm 并发数在浏览器有限制,直接跑 node 没有限制。
    kajweb
        14
    kajweb  
    OP
       2022-05-17 14:33:08 +08:00
    @otakustay 现在看来,估计是网络本来就有瓶颈了,proxy 已经关掉了,用其他代理转发了
    tutou
        15
    tutou  
       2022-05-17 14:42:38 +08:00
    上 http2 最方便吧,或者同源多域名加载 js
    FrankFang128
        16
    FrankFang128  
       2022-05-17 14:47:44 +08:00
    页面有 50M ?这个问题很大
    wonderfulcxm
        17
    wonderfulcxm  
       2022-05-17 15:37:11 +08:00 via iPhone
    @kajweb 说出来可能不信,我这个爬虫就是在浏览器跑的…
    MillerD
        18
    MillerD  
       2022-05-17 15:52:18 +08:00
    我现在也在看同样的问题 乍一看确实跟并发数有关系,绝大多数请求都是在 pending
    MillerD
        19
    MillerD  
       2022-05-17 15:53:42 +08:00
    @MillerD stalled
    cyrbuzz
        20
    cyrbuzz  
       2022-05-17 17:04:07 +08:00
    50M 的资源都加载了什么? js 和 css 不会有这么多吧。
    kajweb
        21
    kajweb  
    OP
       2022-05-17 19:45:26 +08:00
    @cyrbuzz @FrankFang128 @cyrbuzz 不知道,估计还包含第三方库。
    [vite 开发模式] 加载的库都是还 [没压缩] 的。编译后的代码首次加载大概 2M 吧(不含懒加载)

    @MillerD 我这边估计两个都有关系。假设前面 6 个资源已经占满网速了,后面的即使是不算并发限制可能也没速度。
    cyrbuzz
        22
    cyrbuzz  
       2022-05-17 20:30:10 +08:00
    @kajweb 感觉往减少加载时的依赖大小方向靠拢比突破 Chrome 限制要有效且容易达成= =。

    Vite 的命令行可以看到具体加载了哪些依赖,具体的可能还以再 lazy 一下。
    wonderblank
        23
    wonderblank  
       2022-05-17 20:35:07 +08:00
    vscode-server 远程开发 加载时间情况如下。

    35 requests
    3.6 MB transferred
    14.5 MB resources
    Finish: 5.64 s
    DOMContentLoaded: 1.15 s
    Load: 1.15 s
    hugojtchen
        24
    hugojtchen  
       2023-11-21 16:46:22 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     950 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 41ms UTC 22:54 PVG 06:54 LAX 15:54 JFK 18:54
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86