2011-12-30 2 views
1
User1<===HTTP====>Web Server 
User2<===HTTP====>Web Server 

Time~0, User1 connects to Web Server 
Time~0, User2 connects to Web server 

Time=10 seconds, User1 queries that further causes database search/update for 
       10seconds. 
Time=11 seconds, User2 is requesting something from server. 

Will User2's request will be processed after Time=10+10=20 seconds? 

PHP 프로세스가 10 초 동안 바쁘면 다른 요청을 처리 할 수 ​​없다고 생각합니다.Apache/PHP 다중 요청 처리 및 예약?

누군가에 대한 의견을 주시기 바랍니다 수 :

-Apache 웹 서버

- PHP 과정

- CPU 프로세스/쓰레드 스케줄링 내가 PHP에 대해 매우 명확하지 않다

, 하지만 난 꽤 Node.js DB 쿼리 또는 아무것도 (비동기 콜백을 사용하여) 시간이 걸릴 경우 다른 요청을 처리 할 수 ​​확신합니다.

+0

로그! 아파치 로그! 중대한! 그들에게 봉사 시간을 포함시키는 것을 고려하십시오. – fge

답변

1

HTTP 요청은 여러 프로세스/스레드 (Apache와 PHP 모두 사용)를 사용하여 두 사용자가 동시에 독립적으로 처리합니다.

한 사용자를 다른 사용자와 관련하여 지연시킬 수있는 유일한 방법은 데이터베이스의 동일한 콘텐츠를 업데이트 (또는 다른 종류의 변경)하여 동시성을 유발하는 것입니다. 데이터베이스에서 데이터를 선택하는 것만으로도 여러 요청에 대해 동시에 처리해야합니다.