在执行两个非常简单的ajax POST请求(成功)时,Apache服务器似乎总是按照请求的顺序响应,尽管第二个请求需要比第一个请求少得多的处理时间。双核心PC上的Apache/2.2.6(Win32)和多线程
服务器处理Request1所用的时间为30秒。 服务器处理Request2所用的时间为10秒。
var deferred1 = dojo.xhrPost(xhrArgs1);
var deferred2 = dojo.xhrPost(xhrArgs2);
我希望Apache在我的双核心机器上实现一些“并行化”,这显然不会发生。
当我在一个单独的浏览器中同时执行每个请求,然后工作正常,首先返回Request2。
事实:
- httpd.conf中已:ThreadsPerChild的50,50 MaxRequestsPerChild
- PHP版本:5.2.5
- ,这两个客户端请求在收到大约在同一时间Apache的访问日志的状态,这是预期的。在服务器端
- PHP代码是睡眠(30)/睡眠(10)
为什么我在同一个浏览器中运行时不会获得“并行”知不知道这样简单的事情?
感谢
是的,我做的。也是Zend框架。 – 2011-03-20 12:06:29
对不起,我在你回答了:-(重新发布它,以便您的评论是不是断章取义的确切同时删除了我的意见:如果你使用的会议我问 – 2011-03-20 12:08:53
FWIW,只是想指出两件事情,你可能不知道关于两行JS的你贴。(1)'dojo.xhrPost'不是构造函数,所以你不应该使用'new'关键字之前。(2)这两个请求将因为XHR在默认情况下是异步的 – 2011-03-21 04:05:14