前端for循环批量提交10000条ajax请求,后半部分请求全部是 net::ERR_INSUFFICIENT_RESOURCES

网站环境:LNMP
问题描述:
这是一个web项目,功能是这样的:在前端页面使用for循环批量向后台提交10000条数据,后台的功能主要是数据库写入。但是在批量发送10000条ajax请求的时候,会出现后半部分的ajax请求直接出现failed的情况,控制台报错net::ERR_INSUFFICIENT_RESOURCES,这些错误大概是在第5500条以后开始出现的。也就是说第5500条以后的ajax直接全部都为failed,net::ERR_INSUFFICIENT_RESOURCES
请问这是什么原因造成的呢?该如何解决,请指点!
console控制台报错:net::ERR_INSUFFICIENT_RESOURCES
图片说明

2个回答

不要直接往数据库里面写,在数据库的前面,架一个缓存或者消息队列,比如redis和rabbitmq,放到缓存或者消息队列之后,在定时把数据从缓存或者消息队列写入数据库,这样可以减少数据库的压力,也可以减少ajax失败的几率.

yu19861128
yu19861128 除了缓存队列,还有其他的解决方法吗?
大约一年之前 回复

是不等待前一次ajax调用结束就执行下一次ajax调用吗?
如果是的话,资源耗尽很正常啊,你个小网卡能支持多少连接并发啊:D
你们这个业务难道是在做压测么?

yu19861128
yu19861128 回复xiaomad: 哈哈,这么说升级配置不能解决这个问题吧?那我这边也只能在js里面控制一下ajax请求的时间间隔了吧?还有其他更好的方案吗?
大约一年之前 回复
xiaomad
xiaomad 回复yu19861128: 可以啊,只要你服务器和网络能快到完成一次ajax调用的时间小于你客户端js循环一次的时间就解决了啊。/笑哭
大约一年之前 回复
yu19861128
yu19861128 回复xiaomad: 但是如果单台客户就提交10000并发呢,这样就不好办了。现在的服务器环境是lnmp,阿里云ecs配置是1核1G1M带宽,升级服务器配置可以解决吗?
大约一年之前 回复
xiaomad
xiaomad 回复yu19861128: js执行一次循环应该总比一个ajax调用来回的时间要短吧,你这种不等待结果就是未结束的ajax调用越积越多,一个ajax调用就要一个tcp连接,虽然理论上有6万多的连接数,实际从硬件到软件都有限制,如果你想测试10000个并发到服务器,不应该用单台客户端来做。
大约一年之前 回复
yu19861128
yu19861128 嗯,是直接for循环提交ajax,不等待,楼上的解决办法是消息队列或者缓存,除了这个还有其他的办法吗?出现这个原因是什么资源耗尽了?我这边是该升级什么配置吗?
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

2
ajax post方式请求接口,只有options请求,没有post请求。怎么办?
3
前端问题:ajax请求获取了pdf 文件流,怎么在线展示
1
ajax请求后端出现 Sorry, we need js to run correctly! 怎么办?
1
LNMP环境,5000个ajax并发导致网站502错误,急求高人指点!
3
Ajax跨域请求被拦截(CORS请求未成功)
2
ssm项目中ajax请求后台一部分函数后台Did not find handler method for [xxx],还有部分成功的为什么?
2
前端ajax请求后拼接html,增加父级元素的class属性不成功
0
windows服务器上IIS环境部署tp5,ajax请求500
2
关于权限验证在前端ajax的提示如何实现
2
微信小程序ajax请求应该写在哪儿?
2
ajax无法发送请求,后台也未接收到请求
4
html5前端ajax代码不执行,求解决
5
ajax请求提交到controller,页面404提示找不到jsp
5
SpringMVC+ajax上传文件+提交表单数据报错The current request is not a multipart request
3
关于ajax同步请求数据插入问题
2
ajax异步请求: 同时发送两个异步请求
1
点击标签,写有Ajax的点击事件无法正确执行,Ajax请求无法发送,qiu'jie?
3
点击标签,写有Ajax的点击事件无法正确执行,Ajax请求无法发送。大佬们帮忙看一下,求解?
4
将web项目由http转成https请求,结果后台请求找不到,部分静态资源也加载错误
1
后台管理系统使用的layui框架,post请求提交时部分win10的谷歌浏览器会刷新页面