1. 개요
성능 테스트는 소프트웨어 개발의 중요한 부분입니다. 병목 현상과 버그를 밝히고 애플리케이션이 응답하도록 보장합니다. 특히 중요한 측면 중 하나는 웹 애플리케이션이 사용자 상호 작용을 로드하고 반응하는 데 필요한 시간입니다.
이 도움말에서는 로드 시간 문제를 감지하고 개선하는 데 도움이 되는 두 가지 측정항목인 지연 시간 과 로드 시간 을 살펴보겠습니다 . 이러한 메트릭이 정의되는 방법, 서로 구별되는 요소 및 성능 도구 JMeter 를 사용하여 메트릭을 측정하는 방법을 알아봅니다 .
2. JMeter의 대기 시간 및 로드 시간 메트릭
JMeter에서 대기 시간 과 로드 시간 은 모두 왕복을 측정하는 메트릭입니다. 즉, 둘 다 클라이언트가 서버에 요청을 보낸 후 응답을 받을 때까지의 시간을 측정합니다. 그러나 이 둘 사이에는 중요한 차이점이 있습니다.
대기 시간 은 요청을 보내기 직전부터 응답의 첫 부분을 받은 직후까지의 시간으로 정의되는 반면, 로드 시간 은 요청을 보내기 직전부터 응답의 마지막 부분을 받은 직후까지의 시간으로 정의 됩니다.
두 메트릭 모두에 대해 JMeter는 요청을 수집하는 데 걸리는 시간을 포함합니다. 대기 시간에는 응답의 첫 번째 부분을 조립하는 데 걸리는 시간도 포함되며 로드 시간에는 전체 응답을 조립하는 데 걸리는 시간이 포함됩니다. 어셈블링에는 응답 렌더링 또는 클라이언트 측 코드 실행이 포함되지 않습니다.
3. 대기 시간 및 로드 시간 측정 방법
HTTP 요청을 보내고 View Results Tree Listener 를 사용하는 테스트 계획을 생성하여 JMeter에서 대기 시간 과 로드 시간 을 측정할 수 있습니다 .
도구를 열 때 JMeter가 자동으로 생성하는 테스트 계획부터 시작하겠습니다. 이 경우 이름을 LatencyVsLoadTime 으로 바꾸겠습니다 .
다음 으로 모든 테스트 계획의 시작점이 되는 Thread Group 을 생성해 보겠습니다. 이것은 테스트 계획을 마우스 오른쪽 버튼으로 클릭한 다음 추가 -> 스레드(사용자) -> 스레드 그룹 을 선택하여 수행됩니다 .
다음으로 스레드 그룹 을 마우스 오른쪽 버튼으로 클릭하고 추가 -> 샘플러 -> HTTP 요청 을 선택 하여 HTTP 요청을 추가해 보겠습니다 .
마지막 으로 요청 결과를 추적 하는 리스너 가 필요합니다 . 스레드 그룹 을 마우스 오른쪽 버튼으로 클릭하고 추가 -> 리스너 -> 결과 트리 보기 를 선택하여 추가해 보겠습니다 .
이제 테스트 계획의 모든 부분이 준비되었으므로 HTTP 요청을 구성하겠습니다 .
이를 위해 HTTP 요청 을 선택하고 경로 를 테스트하려는 URL로 설정합니다 . 이 예에서는 https://www.google.com 을 선택하겠습니다 .
상단 바의 디스크 아이콘을 클릭하여 테스트 계획을 저장한 후 실행할 수 있습니다. HTTP 요청 을 선택 하고 상단 표시줄에서 재생 버튼을 클릭해 보겠습니다.
마지막으로 Sampler result 탭 에서 View Results Tree 요소 를 선택하여 결과를 확인해보자 . 이 예에서 요청의 대기 시간은 215ms이고 로드 시간은 218ms입니다.
4. 결론
이 문서에서는 로드 시간 문제를 감지하고 애플리케이션의 유용성을 개선하는 데 도움이 될 수 있는 두 가지 성능 메트릭인 대기 시간 및 로드 시간 에 대해 논의했습니다.
먼저 JMeter의 맥락에서 메트릭을 정의하고 둘 사이의 차이점에 대해 자세히 설명했습니다. 그런 다음 메트릭을 측정하는 데 사용할 수 있는 HTTP 요청으로 JMeter 테스트 계획을 설정하는 방법을 살펴보았습니다. 마지막으로 테스트 계획을 실행하고 결과를 검토하는 방법을 배웠습니다.
이 기사 전체에서 생성한 JMeter 테스트 계획은 GitHub에서 사용할 수 있습니다 .