`ab '도구를 사용하여 Apache & PHP 설정 (Ubuntu의 기본 설정)을 테스트하고 있습니다. 2 개의 동시 연결을 사용하면 매우 만족스러운 결과를 얻을 수 있습니다.Apache와 PHP의 동시성 성능 최적화
ab -k -n 1000 -c 2 http://localserver/page.php
Requests per second: 184.81 [#/sec] (mean)
Time per request: 10.822 [ms] (mean)
Time per request: 5.411 [ms] (mean, across all concurrent requests)
메모리가 적은 가상 머신이라면 괜찮습니다. 지금은보다 현실적인 시나리오를 테스트하려면 : 100 사용자들 사이에 확산 요청 (읽기 : 연결)를 동시에 연결이 훨씬 더 나쁜
ab -k -n 1000 -c 100 http://localserver/page.php
Requests per second: 60.22 [#/sec] (mean)
Time per request: 1660.678 [ms] (mean)
Time per request: 16.607 [ms] (mean, across all concurrent requests)
. 초당 요청 수가 전체적으로 (184 ~ 60 #/초) 크게 감소하지는 않았지만 사용자 관점 에 대한 요청 시간은 평균적으로 10 밀리 초에서 1.6 초를 초과하여 급격히 증가했습니다 (). 가장 긴 요청은 8 초 이상 걸리고 웹 브라우저를 사용하여 로컬 서버에 수동으로 연결하면 테스트하는 동안 거의 10 초가 걸렸습니다.
무엇이 원인 일 수 있으며 동시성 성능을 허용 가능한 수준으로 최적화하려면 어떻게해야합니까?
(우분투 리눅스 서버와 함께 제공되는 나는 기본 구성을 사용하고 있습니다.)
먼저 로컬 스크립트가 실행되는 내용에 따라 다르지 않습니까? memcache (d)를 사용할 수 있습니까? –
로컬 스크립트는 많은 수의 간단한 echo 문을 실행 중입니다. 나는 의도적으로 데이터베이스 작업을 포함하지 않았다. – JohnCand
메모리가 적은 VM 인 경우 nginx, lighttp 또는 다른 것을 사용하지 않으시겠습니까? – Matt