chrome 多个ajax请求pending状态

问题

当有许多个ajax请求时,会发现排序靠后的请求会处于pending状态,或者chrome左下角显示“正在等待可用套接字”。

原因

chrome会与一个server简历6个socket连接,相当于socket连接池,当请求过多时,会出现排队状态,后续的请求会等待前面的请求释放掉socket连接才可以请求。

工具

chrome://net-internals/#sockets
可以查看socket连接信息,可以发现,socket pool状态,会发现一个域名会对应一个socket连接池。最大数为6,之后不会增加。

6369648-8153f66385473346.png
socket连接池

解决思路

1、尽量减少大批量ajax请求,尤其是在网络不通畅,大量ajax请求未返回响应式,占用socket连接。
2、禁止短时间内进行大批量ajax请求。
3、多个图片尽量进行懒加载。

猜你喜欢

转载自blog.csdn.net/weixin_34217773/article/details/88102837