728x90

✔ ab tool ?

Apache HTTP server Benchmarking Tool
Apache 응답속도를 체크하는 벤치마팅
웹서버 쪽 성능 측정을 위해 만들어진 도구이다보니 세션을 사용한 복잡한 인증절차등을 포함한 페이지를 테스트하기에는 약간 부적합
웹서버가 설치되어 있는 머신의 한계치를 측정하거나 튜닝할 때나 간단하게 response time 의 성능 측정 정보만 측정해야하는 경우에 매우 유용

 

✔ 참고사항

  • HTML이나 CSS, image등은 해석하지 않는다. 단순히 response 시간만 나타내준다.
  • HTTP 1.0 클라이언트를 사용한다.
  • 동적 페이지는 Content-Length 헤더 내용을 미리 작성할 수 없기 때문에 -k KeepAlive 옵션이 동작하지 않는다.
  • HTTP 1.0 클라이언트이기 때문에 Transfer-Encoding: chunked 옵션은 사용할 수 없다.
  • request간에 delay를 주는 옵션은 없으므로 DDOS attack으로 간주 될 수 있다.

 

✔ 설치 

yum -y install httpd-tools

 

 

✔ 사용법

ab  -c [동시사용자수]  -n [요청수]  -t  [테스트시간]   URL(호출주소)

ex) ab -c 100 -n 200 -t 60 https://www.test.co.kr/login.do

 

ex) 다음과 같이 했을때 100명이 200번의 요청을 햇을때 결과 값이 나온다.

 

-n 성능을 검사하기위해 보내는 요청수. 기본값으로 요청을 한번만 보내기때문에 일반적인 성능검사 결과를 얻을 수 없다.
-c 동시에 요청하는 요청수. 기본적으로 한번에 한 요청만을 보낸다.
-g 측정한 모든 값을 'gnuplot' 혹은 TSV (Tab separate values, 탭으로 구분한 값) 파일에 기록한다. 라벨은 output 파일의 첫번째 라인을 참고한다.
-t 성능을 검사하는 최대 초단위 시간. 내부적으로 -n 50000을 가정한다. 정해진 시간동안 서버 성능을 검사할때 사용한다. 기본적으로 시간제한 없이 검사한다.
-v 출력 수준을 지정한다.
4 이상이면 헤더에 대한 정보를,
3 이상이면 (404, 202, 등) 응답코드를,
2 이상이면 경고(warning)와 정보(info)를 출력한다.
-A 프록시를 통해 BASIC Authentication 정보를 제공한다.
:로 구분한 사용자명과 암호를 base64 인코딩하여 전송한다.
-X proxy[:port] 프록시 서버를 사용하여 요청한다.

 

✔ 결과 내용

  • Server Software : 아파치 버전
  • Server Host Name : 서버 호스트명
  • Server Port : 포트 번호
  • Document Path : 웹문서 위치
  • Time take for tests : 테스트 시간
  • Document Length : 문서의 크기
  • Complete requests : 응답 완료한 요청 수
  • Failed requests : 응답실패한 요청 수
  • Broken pipe errors : 연결이 끊긴 수
  • Total transferred : 총 전송 바이트 수
  • HTTP transferred : 총 전송 HTML 바이트 수
  • Requests per second : 초당 응답 요청 수
  • Time per requests : 요청 당 응답시간
  • Transfer rate : 초당 전송 용량

 

 

 

 

 

728x90

+ Recent posts