Ajax调用超过服务器的并发会话限制?

时间:2019-01-17 11:26:35

标签: jquery ajax

我只找到限制为20个并发会话的服务器(同时最多20个请求)。

我的应用程序由PHP和JS(jQuery)组成。在某个时候,它进行了太多的Ajax调用,无法从MySQL获取数据(同时16-18,同时完成每个过程大约需要3-4秒),从而导致从服务器获取消息。

如何在不更改我的应用程序太多的情况下解决此问题?

在devtool的网络中,保持活动的响应标头为Keep-Alive timeout=5, max=99

如果我将其更改为较小的值,会有所帮助吗?还是仅表示如果无法在99秒内将其送达,它将关闭该请求?

一个解决方案可能是为我所有的Ajax调用编写一个函数,该函数将始终等待一秒钟收集调用并仅执行一个请求,然后它将对我所有的函数进行回调,从而进行调用,但是痛苦的事。

是否有更好,更轻松的解决方案?

Ajax调用是否没有选择将我的并发调用限制为5,其余所有都将等到完成为止?还是我应该使用setTimeout手动完成?

1 个答案:

答案 0 :(得分:1)

您可以使用throttle / debounce技术。 也有jQuery plugins提供类似的功能