매우 간단한 두 개의 ajax POST 요청 (successivly)을 실행하면 Apache 서버는 요청 된 순서와 동일한 순서로 항상 응답하는 것처럼 보입니다. 첫 번째 요청보다 훨씬 적은 처리 시간.Apache/2.2.6 (Win32) 및 듀얼 코어 PC의 멀티 스레딩
서버가 Request1을 처리하는 데 걸리는 시간은 30 초입니다. 서버가 Request2를 처리하는 데 걸리는 시간은 10 초입니다.
var deferred1 = dojo.xhrPost(xhrArgs1);
var deferred2 = dojo.xhrPost(xhrArgs2);
필자는 아파치가 내 듀얼 코어 컴퓨터에서 "병렬화"를 달성 할 것으로 기대합니다. 이는 분명히 일어나지 않습니다.
각 요청을 별도의 broswer에서 동시에 실행하면 정상적으로 작동하며 Request2가 먼저 반환됩니다.
현황 : 50 생 ThreadsPerChild 50
- 가있다 httpd.conf를 모두 클라이언트 요청이 거의 동시에 수신
- 아파치의 액세스 로그 상태 5.2.5, 그것은 예상대로입니다. 서버 측에서
- PHP 코드는 수면 (30)/절전 (10)
같은 브라우저에서 실행할 때 나는 "병렬"를하지 않는 이유에 대해 어떤 생각 같은 간단한입니까?
주셔서 감사합니다이 요청은 동일한 브라우저에서 전송
예, 있습니다. 또한 젠드 프레임 워크. –
죄송합니다. 귀하가 정확히 답변을 드렸을 때 제 의견을 삭제했습니다 :-(다시 게시하여 귀하의 의견이 문맥에 어긋나지 않도록하십시오 : 귀하가 세션을 사용하고 있는지 묻는 질문에 대답했습니다.) –
FWIW, (1)'dojo.xhrPost'는 생성자가 아니기 때문에, 앞에'new' 키워드를 사용해서는 안됩니다. (2) 두 개의 요청은 XHR은 기본적으로 비동기식이기 때문에 다른 사람이 끝내기를 기다리지 않습니다. –