Repolode
hatoo

hatoo/oha

rakyll/hey에서 영감을 받아 Rust로 만든 커맨드라인 HTTP 부하 생성기이며, 실시간 터미널 UI를 제공합니다.

스타
10,629
포크
306
열린 이슈
59
마지막 커밋
3일 전

어떤 프로젝트인가요?

oha는 웹 애플리케이션에 HTTP 부하를 보내고 결과를 실시간 터미널 UI로 보여 주는 커맨드라인 도구입니다. rakyll/hey를 본떠 만들어졌으며, 옵션도 hey의 규칙을 따릅니다. 다만 `-q` 플래그는 작업자별이 아니라 전체 초당 요청 수를 설정하는 등 몇 가지 차이가 있습니다.

oha는 HTTP/1.1, 연결당 병렬 스트림을 지원하는 HTTP/2, 그리고 실험적인 HTTP/3를 지원합니다. 요청 속도와 버스트 패턴, 실행 시간을 제어할 수 있으며, 정규식으로 무작위 URL을 생성하거나 파일에 있는 URL 목록을 읽어 올 수 있습니다. Coordinated omission 문제를 피하기 위한 지연 시간 보정 기능도 제공됩니다. 출력 형식은 일반 텍스트, JSON, CSV 또는 조용한 모드 중에서 선택할 수 있으며, 성공한 요청을 SQLite 데이터베이스에 기록할 수도 있습니다.

tokio와 ratatui를 기반으로 한 oha는 TLS 옵션(rustls 또는 native-tls), 클라이언트 인증서, AWS SigV4 서명, 프록시, Unix 소켓, VSOCK도 지원합니다. Cargo, Homebrew, Arch Linux, winget, Docker를 통해 사전 빌드된 바이너리를 사용할 수 있습니다.

핵심 기능

  • 01테스트가 진행되는 동안 처리량과 지연 시간을 실시간 터미널 UI로 표시합니다.
  • 02HTTP/1.1, HTTP/2, 실험적인 HTTP/3를 지원합니다.
  • 03QPS, 버스트 패턴, 실행 시간에 따라 요청 속도를 제한할 수 있습니다.
  • 04정규식으로 URL을 무작위 생성하거나 파일에서 URL 목록을 읽어 올 수 있습니다.
  • 05문서화된 JSON 스키마와 함께 텍스트, JSON, CSV 출력 및 조용한 모드를 지원합니다.
  • 06Coordinated omission 문제를 피하기 위한 지연 시간 보정 옵션을 제공합니다.
  • 07TLS 옵션, 클라이언트 인증서, 프록시, AWS SigV4 서명을 지원합니다.

활용 사례

  • 출시 전에 웹 서비스를 부하 테스트해 동시 요청 상황에서 어떻게 동작하는지 확인합니다.
  • 엔드포인트의 HTTP/1.1과 HTTP/2 성능을 비교합니다.
  • 액세스 로그의 URL을 재생해 실제와 비슷한 트래픽 구성을 만듭니다.
  • JSON 또는 CSV 출력으로 CI나 스크립트에서 간단한 벤치마크를 실행합니다.

빠른 시작

  1. 1

    Cargo로 oha를 설치합니다(Rust, make, cmake가 필요합니다).

    cargo install oha
  2. 2

    README의 Usage 섹션에 있는 옵션을 사용해 대상 URL에 oha를 실행합니다.

사용 전 알아둘 점

  • Cargo로 소스에서 빌드하려면 make와 cmake가 설치되어 있어야 합니다.
  • HTTP/3 기능은 실험적이며 TLS에 rustls를 사용합니다.
  • README에는 테스트된 플랫폼(Linux, Windows 10, macOS)만 나와 있으며, 그 외 플랫폼의 지원 여부는 명시되어 있지 않습니다.

포함된 컬렉션

토픽

자주 묻는 질문

oha은(는) 무엇인가요?
rakyll/hey에서 영감을 받아 Rust로 만든 커맨드라인 HTTP 부하 생성기이며, 실시간 터미널 UI를 제공합니다. oha는 웹 애플리케이션에 HTTP 부하를 보내고 결과를 실시간 터미널 UI로 보여 주는 커맨드라인 도구입니다. rakyll/hey를 본떠 만들어졌으며, 옵션도 hey의 규칙을 따릅니다. 다만 `-q` 플래그는 작업자별이 아니라 전체 초당 요청 수를 설정하는 등 몇 가지 차이가 있습니다.
oha은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
oha은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
oha은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. oha의 마지막 커밋은 2026년 10월 22일입니다.
oha은(는) 어디에 사용할 수 있나요?
출시 전에 웹 서비스를 부하 테스트해 동시 요청 상황에서 어떻게 동작하는지 확인합니다. 엔드포인트의 HTTP/1.1과 HTTP/2 성능을 비교합니다. 액세스 로그의 URL을 재생해 실제와 비슷한 트래픽 구성을 만듭니다. JSON 또는 CSV 출력으로 CI나 스크립트에서 간단한 벤치마크를 실행합니다.
oha는 어떻게 설치하나요?
Cargo로 oha를 설치합니다(Rust, make, cmake가 필요합니다).: cargo install oha README의 Usage 섹션에 있는 옵션을 사용해 대상 URL에 oha를 실행합니다.
oha은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/hatoo/oha

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트