我正面临网络问题我无法解释ajax请求。这是背景:
我的网站有很多联系页面,我们收集有关不同社交网络(twitter,linkedin,viadeo,google)上的人的信息,然后我们会显示它。
由于这需要发送许多ajax请求,我们已决定将其中一些请求移至JSONP并使用我们的某些子域,因此我们无法达到浏览器对每个域的最大请求数限制。
因此,当加载联系人页面时,我发送了7个JSONP请求(通过子域),以及2个“真正的”ajax请求(意味着使用xhr对象)。那两个ajax请求都使用差异参数调用相同的PHP操作“SocialTab”,而其他JSONP请求则调用不同的操作。
由于我们在联系页面上遇到速度问题,我决定监控这些请求,并意识到它们可能需要很长时间才能完成,其中一些可能需要15秒,平均10秒通过谷歌网络面板深入了解我的SocialTab ajax请求,可以看出几乎100%的时间花在等待来自服务器的响应上(cf屏幕)。
然后我认为服务器端是问题,所以我注释掉了PHP处理部分,除了返回之外别无其他。结果是一样的,因此PHP部分不对控制台告诉我的“等待”时间负责。如果没有处理任何事情,如何等待最多4秒?
我的最后一次测试是删除我的JSONP请求,并仅发送SocialTab请求。令人惊讶的是,等待时间大大减少,并且在下面的屏幕上可以看到更有意义。
有人对此有解释吗?
注意:我正在进行测试的网站托管在我本地网络的服务器上,我们在Symfony 1.4下运行
答案 0 :(得分:1)
找到答案。如果有人想知道,PHP会话锁就是问题!