fasthttp로 요청을 보내고, 실시간 터미널 화면과 웹 차트를 제공하는 Go 기반 HTTP(S) 부하 테스트 CLI입니다.
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
Cargo로 oha를 설치합니다(Rust, make, cmake가 필요합니다).
cargo install oha - 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 통계는 매일 갱신됩니다.
관련 프로젝트
일반 Python 코드로 HTTP 및 기타 프로토콜의 부하 테스트를 정의하고 웹 UI에서 실행할 수 있는 오픈소스 부하 테스트 도구입니다.
고성능 요청 처리를 위해 fasthttp를 기반으로 만든 Go 언어의 크로스 플랫폼 HTTP(S) 벤치마킹 및 부하 테스트 CLI 도구입니다.
통계 분석과 워밍업 실행을 지원하고 결과를 CSV, JSON, Markdown, AsciiDoc으로 내보내는 명령어 벤치마크 도구입니다.
웹 애플리케이션과 기타 서비스의 부하 및 성능을 측정하는 오픈 소스 Java 애플리케이션입니다.
HTTP(S) 벤치마킹, 부하 테스트, 디버깅 및 REST API 클라이언트 도구를 간단한 설명과 함께 모아 둔 엄선 목록입니다.