调用后端接口批量上传图片,导致整个网站的接口全部无法使用了,如何优化?

网站使用nginx+php搭建的,资金业务有限,使用的是单台服务器。

现在有一个图片上传接口,单次调用,响应时间在1-3秒左右。

现在网站有一个上传图片" title="批量上传图片">批量上传图片功能,要一次性上传十几张图片。也就是说要同时调用十几次图片上传接口。就会造成每一个接口pengding的时间极长。
同时在这个时间里,网站中其他接口也是无法访问的,就好像堵车一样,要等这些图片上传完才可以访问。

这个问题如何优化?换句话说,难道单机只支持十几个人同时进行上传图片操作?
我的机器配置:2核 4G内存 SSD硬盘

回答

你这个结果并不能说明大量的图片上传接口阻塞了其他接口的请求。

因为浏览器对同一域名的 HTTP 请求并发数是有限制的,Chrome 我没记错的话应该是 6,很可能是因为你到了这个并发限制、而不是后端资源吃满了。

如果你想要测试是否真的阻塞了,就不应该在浏览器环境下进行,换一些专门的并发测试工具吧。

突破浏览器这种并发限制的方式很简单:换域名。你可以考虑给图片上传这个接口单独弄个域名;其他接口保持不变。

如果经过测试发现不是浏览器并发限制的问题,就是阻塞了,可以考虑前端维护一个请求队列,一张一张上传。

直接走阿里oss服务吧 不贵 没多少钱 能解决掉你的问题

推荐阿里oss服务。

以上是 调用后端接口批量上传图片,导致整个网站的接口全部无法使用了,如何优化? 的全部内容, 来源链接: utcz.com/a/41295.html

回到顶部