반응형

ab(Apache Benchmark)Apache HTTP 서버를 벤치마킹하기 위한 도구이다. 웹사이트의 트래픽을 시뮬레이션하여 부하 테스트에 대한 성능 수치를 빠르게 확인할 수 있는 간단한 오픈 소스 커맨드라인 도구이다.

  

설치

Mac을 사용하는 경우 abOS의 일부로 제공되므로 설치에 대해 걱정할 필요가 없다.

윈도우는 Apache XAMPP, WampServer 등이 설치되었다면 ab도 이미 깔린 것이다. 윈도우 cmd 터미널에서 아래와 같이 버전과 명령 옵션들을 확인할 수 있다(알파벳 대소문자 구별함).

 

미설치 상태라면 아래 사이트에서 파일을 다운 받아 설치한다.
https://www.apachelounge.com/download/

 아래 영상은 윈도우에서 ab 설치 방법을 보여준다.

 

사용 예

가장 간단한 부하 테스트는 터미널에서 다음 명령을 써서 실행할 수 있다.
(패러미터 -n은 리퀘스트 수, -c는 동시 리퀘스트 수, 테스트할 호스트명)

ab -n 100 -c 10 https://example.com/

위 명령은 한 번에 요청하는 동시 사용자(concurrent users)10명 이하로 총 100개의 리퀘스트를 example.com 웹사이트로 전송한다. ab 명령이 처음에 example.com 10개의 동시 리퀘스트를 한 다음 리퀘스트 중 하나가 이행되면 11번째 리퀘스트가 이루어진다. 이 패턴은 100개의 리퀘스트가 모두 충족될 때까지 반복된다.

 

 

아래처럼 -w 옵션을 사용하면 HTML 테이블 형태의 결과를 출력한다.

 ab -n 100 -c 10 -w http://localhost/

 

츨력된 HTML 코드를 에디터로 복사하여 보기 편한 문서 형식으로 전환할 수 있다.

 

 

 

KeepAlive 기능을 사용하려면 -k 옵션을 쓴다. 리퀘스트에 KeepAlive 헤더를 붙여 보내고 서버가  각 리퀘스트 처리 후 커넥션을 끊지 않고 재사용하도록 한다.

 ab -n 2000 -c 200 -k http://localhost/

 

 

 

각 개별 리퀘스트의 결과를 기록(logging)하려면 -g 인자를 사용한다. 아래 명령은 out.txt라는 이름을 가진 tab separated 텍스트 파일을 생성한다. out.csv라고 쓰는 경우 액셀 csv파일을 생성한다. 파일명 앞에 경로를 써주면 해당 위치에 파일이 생성된다. 아래 명령 실행  시 Permssion denied 에러가 뜬다면 윈도우 cmd 터미널창을 관리자 권한으로 실행하여 열고 명령을 실행한다.

 ab -n 10000 -c 1000 -g out.txt http://localhost/

 

 

ab 도구 옵션에 대한 더 자세한 정보는 아래 웹사이트를 참고한다.

https://httpd.apache.org/docs/2.4/programs/ab.html

 

ab - 아파치 웹서버 성능검사 도구 - Apache HTTP Server Version 2.4

ab - 아파치 웹서버 성능검사 도구 이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요. ab는 아파치 하이퍼텍스트 전송 프로토콜 (HTTP) 서버의 성능을 검사하는(benc

httpd.apache.org

 

 

반응형

+ Recent posts