아파치벤치(ApacheBench, ab)는 HTTP 웹 서버성능 측정을 위한 싱글 스레드 명령 줄 컴퓨터 프로그램이다.[1] 원래 아파치 HTTP 서버를 테스트할 목적으로 설계되었으며 현재는 모든 웹 서버를 테스트할 수 있을 만큼 충분히 일반화되어 있다.

ab 도구가 표준 아파치 소스 배포판과 함께 번들링되어 있으며 아파치 웹 서버처럼 자유, 오픈 소스 소프트웨어이며 아파치 라이선스에 의거하여 배포된다.

사용 예 편집

ab -n 100 -c 10 "https://ko.wikipedia.org/wiki/대문"

이 예제에서 이 명령은 100개의 HTTP 요청을 실행하고 동시에 최대 10개의 요청을 특정 URL "https://ko.wikipedia.org/wiki/대문"에 처리한다.[2]

동시성 vs. 스레드 편집

아파치벤치는 하동시성 레벨의 지정(-c 변수로 지정) 여부에 관계 없이 하나의 운영 체제 스레드만을 사용한다. 일부의 경우 특히 고용적의 서버를 벤치마킹할 때 아파치벤치 인스턴스 하나만 가지고서는 병목 현상이 발생할 수 있다. 다중 프로세서 코어의 하드웨어에서 아파치벤치를 사용할 때 대상 URL을 더 포화시키기 위해 추가적인 아파치벤치 인스턴스를 병렬로 사용할 수 있다.

아파치벤치의 감지 편집

아파치벤치의 사용자 에이전트 문자열은 다음과 같다: ApacheBench/MAJOR.MINOR

여기서 MAJOR와 MINOR는 프로그램의 메이저, 마이너 버전 정보를 나타낸다.[3]

같이 보기 편집

각주 편집

  1. “ab - Apache HTTP server benchmarking tool”. 《Apache》. 2014년 10월 9일에 확인함. 
  2. “Using Apache Bench for Simple Load Testing”. 《Pete Freitag's ColdFusion, Java and Web Development Blog》. 2014년 10월 9일에 확인함. 
  3. “Useragent detail: AB (Apache Bench)”. 《User-Agent-String-Info》. 2014년 10월 9일에 확인함. 

외부 링크 편집