0

网站后台用 Backbone 写的,Api 用的 php 写的 Restful, 一次发出多个请求会非常慢.请问怎么解决?

请输入图片描述

东隅 9
2014-07-21 提问
1 个回答
0

已采纳

根据你的请求时间来看,基本上可以判断是阻塞引起的。

阻塞有两种一种是客户端的阻塞:浏览器对于同域名的并发连接是有限制的,如果超出了这个限制,那么浏览器对于后续的请求都是处于阻塞状态的。这也是为什么有专门的静态资源服务器的原因之一,连接数的限制如下(引用自 浏览器允许的并发请求资源数是什么意思?):

浏览器连接数限制

从截图来看你的连接数似乎未超出 Chrome 4+ 的最大连接数 6,所以也可能是服务端的问题,服务端的就比较多样化了,但是最大的原因都是共用一个资源,而这个资源未实现并发的特性。可能是你代码的问题,比如,比如加锁读取一个文件、比如在nodejs主线程里面处理同步、大幅度计算的任务,也可能是服务端配置不当:PHP-FPM (unix) 或者 PHP-FastCGI (windows) 最大只允许开一个实例经常去处理请求,而每个请求的时间都比较长。

惭愧,未能实际解决问题,但是根据你的描述也无法真正知道问题的根本原因,建议下次问问题提供更详细的问题描述。在要求一点你截图应该截取全一点最重要的 timeline 居然没进来。

撰写答案

推广链接