나는 PHP 응용 프로그램에서 보고서를 실행하고 90 초 이내에 SQL 서버에 대해 약 1 백만 개의 SQL 쿼리를 실행하고 있습니다. 아무도이 웹 기반 응용 프로그램을 사용할 수 없으면 계란 타이머가 작동하지만 보고서가 만료되거나 완료 될 때까지 아무 것도로드되지 않습니다. 나는이 문제를 고립 된 환경에서 테스트 해 보았습니다. 브라우저에서 보고서를 실행 한 다음 다른 브라우저 창에서이 애플리케이션 사이트에 대한 모든 작업을 중단했습니다. 테스트 환경에 대한PHP 동시 요청이 걸렸습니까?
일부 세부 정보 : IIS에서
Windows 2008 R2 x64 - IIS 7.5 - PHP 5.3.8 via FastCGI
Windows 2008 R2 x64 - SQL Server 2008 R2 x64
FastCGI를 설정 :
Instance MaxRequests = 200
Max Instances = 16
Activity Timeout = 70
Idle Timeout = 300
Queue Length = 1000
Rapid Fails PerMin = 10
Request Timeout = 90
는 SQL 요청의 각 SQL 서버 측 60ms 이하 완료됩니다. 웹 서버와 SQL 서버 모두의 CPU로드는 10 % 미만입니다. 보고서를 실행할 때 웹 서버에는 16GB RAM이 있으며 약 60 % RAM을 사용할 수 있습니다.
PHP는 SQL 서버에 너무 많은 요청을 발사하여 다른 요청을 처리하기에는 너무 바빠 보인다. 이 경우 PHP가 더 많은 동시 요청을 처리하도록 조정할 수있는 무언가가 있어야합니다.
아는 사람 있습니까? 도와주세요!
세션 잠금? –
호기심에서 완전히 다른 브라우저를 통해 사이트에 액세스하려 했습니까? 예를 들어 Firefox를 사용하고 다른 브라우저를 사용하고 있습니다. 그냥 사이트 전체가 아닌 잠겨있는 세션 일 수도 있다는 생각을 배제하려고합니다. 여러 브라우저를 사용하면 여러 개의 세션이 만들어집니다. 동일한 브라우저의 다른 탭은 동일한 세션을 공유합니다. –
질문 [this] (http://stackoverflow.com/questions/12070345/php-multiple-ajax-requests-first-request-block-second-request/12070517) 질문. 아마도 당신은 같은 문제가 있습니다 –