15. 실시간 결과 ¶
JMeter 2.13부터 AbstractBackendListenerClient 를 구현하는 클래스를 제공하여 잠재적으로 모든 백엔드(JDBC, JMS, Webservice, …)를 사용하여 백엔드 리스너 를 통해 백엔드로 전송된 실시간 결과를 얻을 수 있습니다
.
JMeter는 다음과 함께 제공됩니다.
- Graphite Backend에 메트릭을 보낼 수 있는 GraphiteBackendListenerClient.
이 기능은 다음을 제공합니다.- 실시간 결과
- 메트릭에 대한 멋진 그래프
- 2개 이상의 부하 테스트를 비교하는 기능
- JMeter가 동일한 백엔드를 생성하는 한 모니터링 데이터 저장
- …
- UDP 또는 HTTP 프로토콜을 사용하여 InfluxDB 백엔드에 메트릭을 보낼 수 있는 JMeter 3.2에 도입된 InfluxDBBackendListenerClient 이 기능은 다음을 제공합니다.
- 실시간 결과
- 메트릭에 대한 멋진 그래프
- 2개 이상의 부하 테스트를 비교하는 기능
- 그래프에 주석을 추가하는 기능
- JMeter가 동일한 백엔드를 생성하는 한 모니터링 데이터 저장
- …
- InfluxDBBackendListenerClient용 InfluxDB 설정
- GraphiteBackendListenerClient용 InfluxDB 설정
- 그라파나
- 석묵
15.1 노출된 지표 ¶
15.1.1 스레드/가상 사용자 메트릭 ¶
스레드 메트릭은 다음과 같습니다.
- <rootMetricsPrefix>test.minAT
- 최소 활성 스레드
- <rootMetricsPrefix>test.maxAT
- 최대 활성 스레드
- <rootMetricsPrefix>test.meanAT
- 활성 스레드를 의미
- <rootMetricsPrefix>test.startedT
- 시작된 스레드
- <rootMetricsPrefix>test.endedT
- 완성된 스레드
15.1.2 응답 시간 메트릭 ¶
응답 관련 측정항목은 다음과 같습니다.
- <rootMetricsPrefix><samplerName>.ok.count
- 샘플러 이름에 대한 성공적인 응답 수
- <rootMetricsPrefix><samplerName>.h.count
- 초당 서버 적중 수, 이 메트릭은 샘플 결과 및 하위 결과를 누적합니다(트랜잭션 컨트롤러를 사용하는 경우 "상위 샘플러 생성"을 선택 취소해야 함).
- <rootMetricsPrefix><samplerName>.ok.min
- 샘플러 이름의 성공적인 응답을 위한 최소 응답 시간
- <rootMetricsPrefix><샘플러 이름>.ok.max
- 샘플러 이름의 성공적인 응답을 위한 최대 응답 시간
- <rootMetricsPrefix><샘플러 이름>.ok.avg
- 샘플러 이름의 성공적인 응답에 대한 평균 응답 시간입니다.
- <rootMetricsPrefix><samplerName>.ok.pct<백분위수>
- 샘플러 이름의 성공적인 응답에 대해 계산된 백분위수입니다. 계산된 각 값에 대해 하나의 메트릭이 있습니다.
- <rootMetricsPrefix><samplerName>.ko.count
- 샘플러 이름에 대한 실패한 응답 수
- <rootMetricsPrefix><samplerName>.ko.min
- 샘플러 이름의 실패한 응답에 대한 최소 응답 시간
- <rootMetricsPrefix><samplerName>.ko.max
- 샘플러 이름의 실패한 응답에 대한 최대 응답 시간
- <rootMetricsPrefix><샘플러 이름>.ko.avg
- 샘플러 이름의 실패한 응답에 대한 평균 응답 시간입니다.
- <rootMetricsPrefix><samplerName>.ko.pct<percentileValue>
- 샘플러 이름의 실패한 응답에 대해 계산된 백분위수입니다. 계산된 각 값에 대해 하나의 메트릭이 있습니다.
- <rootMetricsPrefix><samplerName>.a.count
- 샘플러 이름에 대한 응답 수(ok.count 및 ko.count의 합계)
- <rootMetricsPrefix><샘플러 이름>.sb.bytes
- 보낸 바이트
- <rootMetricsPrefix><samplerName>.rb.bytes
- 수신된 바이트
- <rootMetricsPrefix><샘플러 이름>.a.min
- 샘플러 이름 응답에 대한 최소 응답 시간(ok.count 및 ko.count의 최소값)
- <rootMetricsPrefix><samplerName>.a.max
- 샘플러 이름 응답에 대한 최대 응답 시간(최대 ok.count 및 ko.count)
- <rootMetricsPrefix><샘플러 이름>.a.avg
- 샘플러 이름 응답에 대한 평균 응답 시간(ok.count 및 ko.count의 평균)
- <rootMetricsPrefix><samplerName>.a.pct<백분위수>
- 샘플러 이름의 응답에 대해 계산된 백분위수입니다. 계산된 각 값에 대해 하나의 메트릭이 있습니다. (양호 및 불합격 샘플의 합계로 계산됨)
백엔드 리스너 의 기본 백분위수 설정 은 "90;95;99"입니다. 즉, 3개의 백분위수는 90%, 95% 및 99%입니다.
Graphite 명명 계층 은 점(".")을 사용하여 요소를 구분합니다. 이것은 십진 백분위수 값과 혼동될 수 있습니다. JMeter는 이러한 값을 변환하여 점(".")을 밑줄("-")로 바꿉니다. 예를 들어 " 99.9 "는 " 99_9 " 가 됩니다.
기본적으로 JMeter는 samplerName " all " 아래에 누적된 모든 샘플러에 대한 메트릭을 보냅니다. 백엔드 리스너 samplersList 가 구성된 경우 JMeter는 summaryOnly=true 가 아니면 일치하는 샘플 이름에 대한 메트릭도 보냅니다.
15.2 JMeter 설정 ¶
JMeter가 메트릭을 백엔드로 보내도록 하려면 InfluxDBBackendListenerClient를 사용하여 BackendListener 를 추가합니다.
15.3 InfluxDB 설정 ¶
백엔드 리스너에서 보낸 데이터를 저장하려면 다음 중 하나를 수행합니다.
- InfluxDB 2 설정을 위해 jmeter 버킷 생성
- InfluxDB 1.x 설정의 경우 Influx CLI 를 사용하여 jmeter 데이터베이스 생성
15.3.1 InfluxDBBackendListenerClient를 위한 InfluxDB 설정 ¶
InfluxDB는 메트릭을 쉽게 저장할 수 있는 오픈 소스 분산 시계열 데이터베이스입니다. 설치 및 구성은 매우 쉽습니다. 자세한 내용은 InfluxDB 문서 를 읽으십시오 . InfluxDB 데이터는 Grafana
를 통해 브라우저에서 쉽게 볼 수 있습니다 .
15.3.2 InfluxDBBackendListenerClient를 위한 InfluxDB 2 설정 ¶
구성은 influxdbToken 매개변수를 지정해야 하고 버킷 및 조직도 influxdbUrl 의 쿼리 매개변수로 지정해야 합니다. 자세한 내용은 InfluxDB v2 API 를 참조하세요.
InfluxDB UI에서 필요한 정보를 검색하는 방법: