간단한 커맨드 라인용 web 부하 테스트 프로그램 hey
hey는 ab 명령어를 대체할수 있는 간단한 command line 용 web server bench marking tool 입니다.
설치
github 의 프로젝트 페이지에서 미리 빌드한 바이너리를 다운받으면 됩니다.
Linux
wget https://hey-release.s3.us-east-2.amazonaws.com/hey_linux_amd64
OSX
wget https://hey-release.s3.us-east-2.amazonaws.com/hey_darwin_amd64
OS 는 brew 로 설치해도 됩니다.
brew install hey
Windows
wget https://hey-release.s3.us-east-2.amazonaws.com/hey_windows_amd64
사용
hey option URL 형식으로 실행하면 되며 주요 옵션은 다음과 같습니다.
-n: Request 갯수를 지정하며 기본은 200입니다.
-c: 동시에 실행할 worker의 갯수를 지정하며 기본은 50입니다. 주의할 점은 -n 이 -c 보다 커야 합니다.
-z: Request 의 지속 시간(duration) 을 지정하며 도달할 경우 자동으로 종료합니다. -z 옵션이 주어지면 -n 옵션은 무시됩니다.
총 request 갯수는 c의 배수중에 가장 n 보다 작은 정수의 최대 값이 됩니다. 예로 n 이 100 이고 c 가 9 일 경우 100 과 가장 가까운 c 의 배수인 99 가 됩니다. n 이 100 이고 c 가 12 일 경우 request 수는 96 입니다.
worker 9, request 100
$ hey -n 100 -c 9 http://localhost:8080/ Summary: Total: 9.3512 secs Slowest: 1.4402 secs Fastest: 0.5090 secs Average: 0.8394 secs Requests/sec: 10.5868 Response time histogram: 0.509 [1] |■ 0.602 [3] |■■■ 0.695 [4] |■■■■ 0.788 [30] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 0.881 [42] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 0.975 [10] |■■■■■■■■■■ 1.254 [4] |■■■■ 1.347 [2] |■■ 1.440 [3] |■■■ ...
duration 지정
worker 9 개를 10초에서 3분간 실행합니다.
$ hey -z 10s -z 3m -c 9 http://localhost:8080/