Apache HTTP Server Version 2.4
ab
는 아파치 하이퍼텍스트 전송 프로토콜 (HTTP)
서버의 성능을 검사하는(benchmarking) 도구이다. 현재 아파치가
어떻게 동작하는지 알려준다. 특히 아파치가 현재 초당 몇개의
요청을 서비스하는지 알려준다.
ab
[ -A auth-username:password ]
[ -c concurrency ]
[ -C cookie-name=value ]
[ -d ]
[ -e csv-file ]
[ -g gnuplot-file ]
[ -h ]
[ -H custom-header ]
[ -i ]
[ -k ]
[ -n requests ]
[ -p POST-file ]
[ -P proxy-auth-username:password ]
[ -q ]
[ -s ]
[ -S ]
[ -t timelimit ]
[ -T content-type ]
[ -v verbosity]
[ -V ]
[ -w ]
[ -x <table>-attributes ]
[ -X proxy[:port] ]
[ -y <tr>-attributes ]
[ -z <td>-attributes ]
[http://]hostname[:port]/path
-A auth-username:password
:
으로 구분한 사용자명과 암호를 base64 인코딩하여
전송한다. 서버가 정보를 요구하는지 (예를 들어,
401 인증 필요를 보내는지) 관계없이 문자열을 전송한다.-c concurrency
-C cookie-name=value
Cookie:
헤더를 추가한다. 아규먼트는
보통 name=value
와 같은
쌍이다. 이 옵션은 여러번 사용할 수 있다.-d
-e csv-file
-g gnuplot-file
-h
-H custom-header
"Accept-Encoding: zip/zop;8bit"
) 유효한
헤더줄이다.-i
GET
대신 HEAD
요청을 한다.-k
-n requests
-p POST-file
-P proxy-auth-username:password
:
로 구분한 사용자명과 암호를 base64 인코딩하여
전송한다. 프록시가 정보를 요구하는지 (예를 들어,
401 인증 필요를 보내는지) 관계없이 문자열을 전송한다.-q
ab
는 10% 혹은
매 100 요청당 표준오류
에 진행상황을 출력한다.
-q
옵션은 이 문구를 출력하지 않는다.-s
ab -h
로
확인할 수 있다) http
프로토콜 대신 SSL을 사용한
https
프로토콜을 사용한다. 이 기능은 실험적이고
매우 기초적이다. 아마도 사용을 꺼려할 것이다.-S
-t timelimit
-n 50000
을 가정한다. 정해진 시간동안 서버 성능을
검사할때 사용한다. 기본적으로 시간제한 없이 검사한다.-T content-type
-v verbosity
4
이상이면
헤더에 대한 정보를, 3
이상이면 (404, 202, 등)
응답코드를, 2
이상이면 경고(warning)와
정보(info)를 출력한다.-V
-w
-x <table>-attributes
<table>
의 속성으로 사용할 문자열.
속성을 <table 여기에 >
추가한다.-X proxy[:port]
-y <tr>-attributes
<tr>
의 속성으로 사용할 문자열.-z <td>-attributes
<td>
의 속성으로 사용할 문자열.정적으로 길이가 고정된 버퍼를 많이 사용한다. 명령행 아규먼트, 서버의 응답 헤더, 다른 외부 입력들을 같이 읽어들이면서 문제가 발생할 수 있다.
이 프로그램은 HTTP/1.x를 완전히 구현하지 않는다; 단지
'기대하는' 형식의 응답만을 받는다. strstr(3)
을
매우 많이 사용기때문에 속도가 문제가 될 수 있다; 즉,
서버 성능보다는 ab
성능을 측정하게 될 수도
있다.