우당탕탕

아파치 벤치(Apache Bench, ab) 완전정복 - Spring Boot 성능 테스트 실전 가이드 본문

Tech

아파치 벤치(Apache Bench, ab) 완전정복 - Spring Boot 성능 테스트 실전 가이드

모찌모찝 2025. 12. 30. 18:29
아파치 벤치(Apache Bench, ab) 완전정복

 

안녕하세요! Apache Bench(ab)를 활용하여 1분 만에 성능 측정하는 법을 알려드리겠습니다. 설치부터 Spring Boot 벤치마킹까지 한번 따라 하면서 적용시켜 봅시다!

Apache Bench (ab)

Apache Bench (ab)란? 언제 사용하나요?

Apache Bench(ab)는 Apache HTTP 서버의 경량 벤치마킹 도구입니다. Spring Boot API나 정적 파일 성능을 초당 처리량(Req/sec), 응답시간(ms)으로 측정해 줍니다.

주요 용도:

- 로컬 Spring Boot 성능 검증 (가상 스레드 효과 확인)
- 간단한 REST API 부하 테스트
- 배포 전 퀵 체크 (JMeter보다 가볍게!)
주의사항: 복잡한 인증/세션 테스트엔 부적합. DDOS처럼 보일 수 있으니 운영서버에서는 주의해 주세요!

설치하기 (Windows/Mac/Linux)

Ubuntu/Debian:

sudo apt-get install apache2-utils

CentOS/RHEL:

yum install httpd-tools

Mac: 

brew install httpd

Windows:

윈도우는 Apache 2.4를 아래 링크에서 직접 다운로드합니다

https://www.apachelounge.com/download/

아파치 2.4 다운로드

64비트 컴퓨터를 사용 시 위의 빨간 동그라미 부분을 다운로드하고 32비트인 경우 아래 Win32를 다운로드합니다.
다운로드 후 bin 폴더에 환경변수까지 추가하게 되면 사용이 가능합니다.

각 OS 별 설치 후 ab 명령어 입력 → 도움말 나오면 성공!

핵심 명령어 옵션

옵션 -n -c -t -v
설명 총 요청수 동시 요청수 최대 시간 (초) 상세도 ( 0~4 )
예시 1000 100 30 4

상세 명령어 Doc

https://httpd.apache.org/docs/2.4/programs/ab.html

기본 명령어:

ab -n 1000 -c 100 http://localhost:8080/thread-test/

-> 1000개 요청, 100개 동시에 대한 명령어 

ab를 활용한 호출 후 아래 지표들은 확인이 필요합니다.

항목 지표 좋은 기준
Requests per second 초당 처리량 500 + ( Spring Boot 기준 )
Time per request 평균 응답시간 200ms 이하
Time taken for tests 총 소요시간 요청수/처리량
Failed requests 실패 건수 0
Transfer rate 처리량 10MS/s+

Connection Times 테이블에서 95% 타임(95th percentile) 확인 

이로서 Apache Bench(ab)를 활용한 성능테스트를 진행해 보았습니다.

Comments