스트레스 테스트 귀하의 PHP 앱 : 초보자의 아파치 벤치 가이드
New Relic이 후원합니다. Sitepoint를 가능하게하는 스폰서를 지원해 주셔서 감사합니다!
예상치 못한 트래픽 급증은 응용 프로그램을 무너 뜨릴 수 있습니다. 바이러스 성 레딧 포스트이든 인기가 급격히 급증하든, 방문객의 대규모 유입을 처리하는 것이 중요합니다. 클라우드 플랫폼은 자동 스케일링을 제공하지만 사전 현지 테스트는 시간과 비용을 절약합니다. 이 안내서는 배포 전에 PHP 응용 프로그램을로드하기위한 강력한 도구 인 Apache Bench (AB)를 소개합니다.
아파치 벤치 소개 (ab)
Apache Bench는 스트레스 테스트 웹 서버를위한 명령 줄 도구입니다. 다양한 하중 조건을 시뮬레이션하여 압력 하에서 응용 프로그램의 성능을 미세 조정할 수 있습니다. Apache 설치에 종종 포함되어 있지만 시스템 패키지 관리자 (예 : Ubuntu의 )를 사용하여 설치할 수 있습니다.
이 튜토리얼의 경우 간단한 Laravel 애플리케이션을 사용하겠습니다. Laravel 및 Composer가 설치되어 있는지 확인하십시오. 새로운 LARAVEL 프로젝트를 만듭니다 :
가상 호스트 (예 : 홈스테드)를 구성하여 Laravel 프로젝트의 디렉토리를 가리 키십시오. 이제 URL을 통해 응용 프로그램에 액세스 할 수 있어야합니다 (예 : ).
첫 번째 테스트 실행
기본 아파치 벤치 명령은 다음과 같습니다
sudo apt-get install apache2-utils
이 명령은 결과가 너무 빨리 반환되어 유용하지 않을 것입니다. 보다 현실적인 부하를 시뮬레이션하려면 (요청 수) 및 (동시성) 옵션을 사용하십시오 :
이 명령은 동시 연결 100 개로 500 개의 요청을 보냅니다. 출력은 특정 기간 내에 완료된 요청의 백분율을 보여줍니다.
인공 지연 소개
비효율적 인 코드의 영향을 설명하기 위해 의도적으로 응용 프로그램을 늦추겠습니다. : 에서 함수를 수정하십시오
및 :
에서 경로를 업데이트하십시오
composer create-project laravel/laravel Laravel --prefer-dist
로그인 후 복사
이제 아파치 벤치를 실행하여 와 . 결과의 차이는 장기 실행 스크립트가 부하에서 성능에 크게 영향을 미치는지 강조 할 것입니다.
public
http://homestead.app:8000
결론
이 튜토리얼은 성능을 위해 PHP 응용 프로그램을 최적화하는 것의 중요성을 보여주었습니다. Apache Bench는 병목 현상을 식별하고 애플리케이션이 높은 트래픽을 처리 할 수 있도록하는 귀중한 도구입니다. 다른 매개 변수를 실험하고 작은 최적화조차도 큰 차이를 만들 수 있음을 기억하십시오.
자주 묻는 질문 (FAQS)
이 섹션에는 스트레스 테스트 PHP 응용 프로그램을 위해 Apache Bench 사용에 대한 일반적인 질문에 대한 답변이 포함되어 있습니다. (원래 FAQ는 간결하고 간결함과 명확성을 위해 통합되어 약간 다시 표시되었습니다).
Q : 아파치 벤치 가란 무엇이며 왜 중요한가?
A : APACHE BENCH (AB)는 HTTP 서버를 벤치마킹하기위한 명령 줄 도구입니다. 응용 프로그램이 다양한 부하 수준에서 수행하는 방식을 이해하여 사전 최적화를 허용하는 데 도움이되기 때문에 스트레스 테스트에 중요합니다.
Q : Apache Bench를 설치하고 사용하는 방법?
A : 설치는 시스템에 따라 다릅니다 (시스템 패키지 관리자 확인). 사용법에는 명령과 옵션 (요청에 대한 및 동시성의 경우 ) 및 대상 URL이 포함됩니다.
Q : 아파치 벤치 결과를 어떻게 해석합니까?
a : 주요 메트릭에는 초당 요청 (높음이 높음), 요청 당 시간 (낮은 시간이 더 좋음) 및 실패 요청 (0이어야 함)이 포함됩니다. "테스트 시간"은 총 테스트 기간을 보여줍니다.
Q : Apache Bench Test https 사이트를 테스트 할 수 있습니까?
a : 예, URL에서
프로토콜을 사용합니다.
Q : Apache Bench는 다른 부하 테스트 도구와 어떻게 비교됩니까?
A : Apache Bench는 기본 테스트를 위해 간단하고 빠릅니다. 보다 고급 도구는 스크립팅 및보다 정교한 시나리오 테스트와 같은 기능을 제공합니다.
Q : Apache Bench가 병목 현상을 식별하는 데 도움이 될 수 있습니까?
A : 정확한 원인을 정확히 찾지는 못하지만 디버깅 및 프로파일 링 도구를 사용하여 추가 조사가 필요한 성능 문제 (초당 낮은 요청, 고 실패 요청)를 보여줍니다.
위 내용은 Apachebench로 PHP 앱을 스트레스 테스트하십시오의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!