hey는 ab 명령어를 대체할수 있는 간단한 command line 용 web server bench marking tool 입니다.


설치

github 의 프로젝트 페이지에서 미리 빌드한 바이너리를 다운받으면 됩니다.


Linux

wget https://hey-release.s3.us-east-2.amazonaws.com/hey_linux_amd64
BASH


OSX

wget https://hey-release.s3.us-east-2.amazonaws.com/hey_darwin_amd64
BASH


OS 는 brew 로 설치해도 됩니다.

brew install hey
BASH



Windows

wget https://hey-release.s3.us-east-2.amazonaws.com/hey_windows_amd64
BASH


사용

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]     |■■■
...
BASH


duration 지정

worker 9 개를 10초에서 3분간 실행합니다.

$ hey -z 10s -z 3m -c 9 http://localhost:8080/
BASH

같이 보기

Ref