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

2022-05-17 11:01:39 +08:00
 kajweb

[本地开发 /远程开发]

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

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

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

3923 次点击
所在节点    前端优化
24 条回复
TomatoYuyuko
2022-05-17 11:08:54 +08:00
额。webpack 有 DllReferencePlugin 可以预先打包优化热重载,vite 没用过不过应该有对应的东西吧
FrankFang128
2022-05-17 11:12:13 +08:00
你是怎么做到下载 localhost 的文件花费三秒钟的?
otakustay
2022-05-17 11:13:51 +08:00
难以想象用 HTTP2 会提升不大,有一种情况是你的 Vite Server 上有 proxy 配置,那么 HTTP2 就开不起来,回退到普通的 HTTPS 自然就慢
wonderfulcxm
2022-05-17 11:19:07 +08:00
有没有发现这个最大并发数是多少?我之前写了个利用 js 同时发送多个 ajax 请求的网页爬虫,好像知道这个还挺重要的。
Leviathann
2022-05-17 11:28:37 +08:00
@wonderfulcxm 同域名是 6
wonderfulcxm
2022-05-17 13:09:48 +08:00
@Leviathann Thanks
AloneHero
2022-05-17 13:27:32 +08:00
尤雨溪也说过 http2 对 vite 的帮助没有那么大,说是多路并发仍然会堵塞,但没说具体原因,这和我想象中有些差异,现在楼主也遇到类似问题,我很好奇原因究竟在哪
monkeyWie
2022-05-17 13:41:00 +08:00
有没有可能你的 http2 没成功开启
Richard14
2022-05-17 13:46:06 +08:00
@AloneHero 同好奇,h2 不就是为了解决类似场景么
dcsuibian
2022-05-17 13:47:41 +08:00
你这根本不是并发数的问题啊,光一个 3.6M 的文件就用了 6 秒。再怎么提升并发数有用么?
莫非你开了 devtools 的节流模式?(不太可能,毕竟预设也没有这种速率)
wunonglin
2022-05-17 13:56:26 +08:00
下载花 3 秒,明显就是你带宽不够
kajweb
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
2022-05-17 14:32:04 +08:00
@wonderfulcxm 并发数在浏览器有限制,直接跑 node 没有限制。
kajweb
2022-05-17 14:33:08 +08:00
@otakustay 现在看来,估计是网络本来就有瓶颈了,proxy 已经关掉了,用其他代理转发了
tutou
2022-05-17 14:42:38 +08:00
上 http2 最方便吧,或者同源多域名加载 js
FrankFang128
2022-05-17 14:47:44 +08:00
页面有 50M ?这个问题很大
wonderfulcxm
2022-05-17 15:37:11 +08:00
@kajweb 说出来可能不信,我这个爬虫就是在浏览器跑的…
MillerD
2022-05-17 15:52:18 +08:00
我现在也在看同样的问题 乍一看确实跟并发数有关系,绝大多数请求都是在 pending
MillerD
2022-05-17 15:53:42 +08:00
@MillerD stalled
cyrbuzz
2022-05-17 17:04:07 +08:00
50M 的资源都加载了什么? js 和 css 不会有这么多吧。

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

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

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

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

© 2021 V2EX