现在题主有一个页面,列出的是多种商品,等这个页面加载完毕后遍历出所有的商品编号,然后循环向一个地址发送ajax取商品的信息,
可能没有说清楚,我再说一点,我们的接口是向别的服务器请求数据,那台服务器平时压力比较大,返回速度不是很快,如果返回快的话我们也做成一条请求了。
现在问题是:
如果商品数量很多的话(比如30种),有几次ajax返回的是502,这个502出现的原因是不是处理ajax的方法压力太大?
如何解决502的这种情况?
我们尝试用setInterval延迟200ms发送ajax,发现可以解决大部分502的问题,但是有时候仍有部分是502.
应该是session被锁住了,同一个用户只能串行的访问开启了session的站点,比如同一个用户访问A页面和B页面(都开启了session),A页面运行(session_start)时会把session锁住,不让别的页面获得,B页面就得等这个锁,等A页面运行完了,锁释放了,B页面才能运行。所以当同时ajax访问多个页面时,后面的页面结果一定要等待前面页面展示后才能在服务端运行展示,如果页面运行慢就会导致后面请求502情况
解决方法:不用session,或者session用完后立刻用session_write_close释放session锁
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。