参考:
解决实际项目中stalled时间过久的问题
背景:
测试反馈系统开 6 个标签页后, 反应变的很慢
定位:
-
看接口请求瀑布流, 已停止时间很长, 后端返回速度很快, 确定是前端的问题
-
推测是并发请求窗口数量的问题, 屏蔽部分一直 pending 的接口, 发现速度正常了, 搜到上面的参考文章, 看接口请求协议, 果然是 http1.1
-
跟其他同事确认这个接口的情况, 总结:
消息通知有个接口, 最长有可能等 1 分钟再返回, 而浏览器对同一个域名的并发请求数限制为最多 6 个(针对 http1.1 而言), 导致开 6 个标签页后, 6 个并发请求基本全被这个接口占着了, 其他接口只能排队等某个标签页的这个接口请求完毕退出并发后才能请求, 因此速度变慢
后续解决
跟该接口相关前端说了, 看是后端调整接口逻辑, 还是改 http2 协议啥的