외부 JMeter 테스트 계획의 스레드 그룹 수정 (JMX 파일)

Aug 18 2020

내 응용 프로그램은 사용자의 테스트 계획으로 jmx 파일을 가져와 실행합니다. 내 응용 프로그램의 백엔드에 JMeter 분산 설정이 있습니다 (JMeter 클라이언트 1 개 및 JMeter 서버 여러 개).

내가 직면 한 문제는 테스트 계획을 실행하는 데 필요한 #threads입니다.

  1. 사용자로부터 #instances (테스트를 실행하는 JMeter 서버) 및 #threads를 명시 적으로 가져 오는 경우 실행 전에이 스레드 그룹으로 사용자가 제공 한 테스트 계획을 어떻게 구성합니까? 이를 통해 클러스터 및 머신 용량으로 이러한 값을 미리 확인할 수 있습니다.

Include Controller에 대해 읽었지만 반드시 사용자 테스트 계획에 Test Fragment가 있어야합니다.

  1. 명시 적이 지 않은 경우 사용자 테스트 계획에서 스레드 그룹 구성을 어떻게 확인합니까? 사용자가 내 JMeter 서버 시스템에 과부하를 줄 수있는 큰 #threads를 테스트 계획에 넣었다고 가정합니다.이 값을 어떻게 확인하고 사용자에게 #threads를 제한하도록 경고 할 수 있습니까?

답변

1 DmitriT Aug 18 2020 at 15:47
  1. JMeter 세계에는 "#threads_per_instance"와 같은 것이 없습니다. JMeter를 분산 모드로 실행하면 각 서버 (또는 슬레이브 또는로드 생성기)가 클라이언트가 제공하는 .jmx 테스트 계획을 그대로 실행 합니다. 사용자가 100 개 파일을 업로드하면 그대로 실행됩니다. 스레드 그룹에 스레드가 있고 1 개의 슬레이브가 있습니다. 사용자는 100 명입니다. 2 개의 슬레이브가있는 경우-200 명의 사용자가 있습니다.

    또 다른 것은 요청 / 응답 크기, 사전 / 사후 프로세서 수, 어설 션, 리스너 등 주로 테스트의 특성에 따라 다르기 때문에 단일 JMeter 슬레이브에서 시뮬레이션 할 수있는 스레드 수를 미리 알 수 없다는 것입니다. 나는 어떤 형태의 JMeter 슬레이브 상태 모니터링을 구현하는 것이 좋으며 CPU 나 RAM 또는 네트워크 사용량이 80 %를 초과하기 시작하면 사용자에게 경고합니다. JMeter PerfMon Plugin을 사용하여 쉽게 달성 할 수 있습니다.

  2. "귀하의 응용 프로그램"에서 어떤 기술이 사용되고 있는지 알 수 없으므로이 질문은 너무 광범위합니다. JMeter .jmx 스크립트 는 XML 파일 일 뿐이므로 XML 파서 를 사용하여 모든 스레드 그룹의 스레드 수를 추출하고 어떻게 든 "검증"할 수 있어야합니다.