JMeter 로그 파일 분석
JMeter 로그 파일 이해하기
각 부하 엔진에서 캡처한 JMeter 로그 파일(jmeter.log)은 JMeter 런타임의 상세한 진단 출력을 제공합니다. JMeter 코어 및 플러그인에서 생성된 INFO, WARN, ERROR 메시지가 포함되어 있어 구성 문제, 플러그인 오류 또는 예기치 않은 런타임 동작을 문제 해결하는 데 중요합니다.
JMeter 로그에 포함된 내용
로그의 각 줄은 다음 패턴을 따릅니다: <timestamp> [<thread-name>] <level> <logger> - <message>
timestamp 로그 항목이 작성된 날짜와 시간(예: 2025-04-23 07:57:24,894)입니다.
thread-name 로그를 생성한 JMeter 스레드 또는 구성 요소(예: StandardJMeterEngine)입니다.
level 로그 수준: INFO, WARN, ERROR 또는 DEBUG(활성화된 경우)입니다.
logger 메시지를 발행하는 Java 클래스 또는 패키지(예: org.apache.jorphan.reflect)입니다.
message 이벤트, 경고 또는 오류를 설명하는 실제 진단 텍스트입니다.
JMeter 로그 접근 및 사용 방법
- "Logs"로 이동 테스트 결과 대시보드에서 Logs 탭을 선택하고 Test files 패널에서 JMeter log file을 선택합니다.
- 스크롤 및 검색
중앙 패널이 로그 내용을 스트리밍합니다. 브라우저의 검색을 사용하여
ERROR또는WARN과 같은 키워드로 이동합니다. - 오프라인 분석을 위해 다운로드JMeter log file 옆의 다운로드 아이콘을 클릭하여 더 깊은 검사를 위해 전체
jmeter.log를 저장합니다.
일반적인 로그 항목
- INFO StandardJMeterEngine - Running the test! 테스트 실행 시작을 표시합니다.
- WARN ConfigTestElement - Missing property 'foo' 누락되거나 잘못된 JMeter 속성을 나타냅니다.
- ERROR HTTPSamplerProxy - Non HTTP response code: 500 샘플러에서 표면화된 HTTP 오류를 보여줍니다.
- INFO JOrphanUtils - Will scan jar ... 플러그인 및 라이브러리 로딩 메시지(정상)입니다.
- ERROR GC - OutOfMemoryError JVM 또는 플러그인 메모리 문제입니다. 힙을 늘리거나 스레드를 줄이는 것을 고려하세요.
로그를 사용한 문제 해결
- 스레드 시작 실패
"Running the test!" 줄 바로 뒤에
ERROR항목을 찾습니다. 종종 잘못 구성된 스레드 그룹이나 누락된 플러그인이 원인입니다. - 플러그인 로드 오류
ClassNotFoundException또는NoClassDefFoundError메시지는 원격 엔진에서 로드에 실패한 JAR을 가리킵니다. - 리소스 제한
메모리 부족 또는 파일 핸들 경고는 JVM 옵션(
-Xmx,-XX:MaxFileDescriptor) 조정이 필요함을 신호합니다. - 지연 시간 및 타임아웃 경고 HTTP 샘플러 타임아웃 및 소켓 예외는 LoadFocus 에이전트와 대상 간의 네트워크 연결 문제를 나타냅니다.
모범 사례
- 선택적으로 디버그 로깅 활성화
매우 큰 로그를 방지하기 위해 좁은 테스트에 대해서만
log_level.jmeter=DEBUG를 설정합니다. - 시계 동기화 분산 로그의 타임스탬프가 정렬되도록 모든 부하 에이전트가 NTP를 사용하도록 합니다.
- 다른 보기와 상관관계 로그 타임스탬프를 Engine Health 및 Errors 차트와 매칭하여 스파이크 또는 실패의 근본 원인을 식별합니다.
- 로그 보관
각 테스트 실행의 완전한 포렌식 추적성을 위해
jmeter.log를 JTL 결과와 함께 저장합니다.
결론
LoadFocus의 JMeter 로그 파일은 필수적인 문제 해결 도구로, 고수준 메트릭에서는 보이지 않는 JVM 오류, 구성 경고 및 플러그인 문제를 표면화합니다. 이러한 로그를 정기적으로 검사하고 보관하면 발견하기 어려운 테스트 실행 문제를 진단하고 안정적이고 반복 가능한 부하 테스트 캠페인을 유지하는 데 도움을 줍니다.