
부하테스트란 시스템의 부하를 임의적으로 증가시켜, 시스템을 테스트하는 것을 뜻합니다. 정상 및 최대 부하 조건에서 애플리케이션이 어떻게 작동하는지, 그리고 최대 부하 조건 이하에서 발생하는 경우의 중단점을 확인할 수 있습니다.
부하테스트를 통해 하드웨어, 서버, 데이터베이스 등 구성요소의 성능을 미리 결정할 수 있습니다. 또한 로드 밸런싱 문제, 대역폭 문제, 시스템 용량 문제를 포함한 애플리케이션의 문제를 노출시켜 문제점을 확인할 수 있으며, 미래에 예상되는 부하를 관리할 수 있게 합니다.
부하 테스트 도구 : Apache Jmeter
부하테스트 도구로는 Apache JMeter를 사용했습니다. Apache JMeter는 주로 웹 애플리케이션의 성능 테스트와 부하 테스트를 수행하기 위해 사용되는 오픈소스 소프트웨어입니다. JMeter는 Java로 작성되었으며 다양한 프로토콜을 지원합니다. 여기에는 HTTP, HTTPS, SOAP, REST, FTP, JDBC, LDAP, JMS 등을 포함하고 있습니다.
1. Apache Jmeter사이트에서 OS에 맞는 프로그램을 다운로드합니다.

2. Apache-jmeter-5.xx → bin에 있는 ApacheJMeter.jar파일을 실행시킵니다. (*JAVA가 설치되어있어야 실행이 됩니다.)

3. Jmeter 테스트 및 기본 사용 방법
3-1. 스레드 그룹을 만듭니다.


3-2. HttpRequest 추가


3-3. 테스트 결과를 출력해주는 모니터링 서버 연결
4. 테스트 실행

Jmeter 상단 메뉴의 초록색 플레이 모양의 실행 아이콘을 클릭하여 작동시킵니다.

WhaTap모니터링 서비스를 통해 실행 결과를 확인할 수 있습니다.

JMeter는 부하 테스트 도구로, 다양한 시나리오에서 애플리케이션의 성능을 테스트할 수 있습니다. 그러나 JMeter 자체로는 서버 내부에서 발생하는 세부적인 성능 문제를 정확히 파악하기 어렵습니다. 하지만 와탭 애플리케이션 모니터링(APM)과 함께 사용하면 다음과 같은 추가적인 정보를 얻을 수 있습니다.
트랜잭션 추적: 요청이 애플리케이션 내부에서 어떻게 처리되는지 추적하여 병목 구간을 파악
에러 및 예외: 실행 중 발생하는 에러와 예외를 실시간으로 확인 가능
실시간 모니터링 제공
JMeter를 통해 부하를 가하는 동안 APM을 이용하면 실시간으로 시스템 성능을 모니터링할 수 있습니다. 이는 다음과 같은 장점을 제공합니다.
이 외에도 사용자 친화적인 WhaTap의 UI로 보다 쉽게 분석할 수 있습니다.
부하테스트 시나리오 예시:

첫 번째 시나리오
두 번째 시나리오
세 번째 시나리오
<1. 결과들의 트리 보기>

단점 : 결과 트리를 매 테스트마다 수동으로 저장해야 하고, 요청에 대한 자세한 정보를 얻기 어렵습니다.
<2. 종합 보고서>



단점: 매 테스트마다 분석 결과를 따로따로 저장해야만 해서 스레드 수에 따른 결과 추이를 보기 어려웠습니다.
<3. 응답시간 그래프>

테스트 실행 동안 시간이 지남에 따라 응답 시간이 어떻게 변화하는지를 보여줍니다.
단점: 응답시간 그래프를 출력할 수 있지만 확인하고 싶은 구간인 x축 설정이 불가했으며, 정확한 응답시간 분석도 불가했습니다.
<트레이스 분석>

APM은 서버 내부에 발생하는 정보를 알 수 있어, 어떤 트랜젝션이 발생했는지 뿐 아니라 서버 데이터도 확인할 수 있습니다.
<성능 추이 분석>

성능 추이 분석을 통해 시나리오에 따른 성능 변화, 자원 사용량 분석 등이 가능합니다. 이를 통해 서버에 필요한 자원을 결정할 수 있습니다.
<그외 히트맵 분석>




트랜잭션의 특정 패턴을 분석하여 어느 곳에서 문제가 발생한 것인지 분석할 수 있습니다. 또한 부하 테스트와 관련된 주요 분석점은 다음과 같습니다.
WhaTap을 통해 트랜잭션을 추적하여 애플리케이션의 각 계층에서 요청이 어떻게 처리되는지 분석합니다. 예를 들어, 웹 서버 -> 애플리케이션 서버 -> 데이터베이스 서버로 이어지는 요청 흐름을 추적합니다.
성능 병목 지점 식별 :트랜잭션 추적을 통해 시간이 많이 소요되는 구간을 식별합니다. 예를 들어, 특정 데이터베이스 쿼리가 느리게 실행되는지 여부를 파악합니다.
부하 증가에 따른 성능 변화: 부하가 증가할 때 시스템 성능이 어떻게 변화하는지 분석하여 시스템의 확장성을 평가합니다.
WhaTap의 자세한 분석 방법은 다음을 참고해주세요.