>

Jmeter 5.2.1을 HTTP 요청과 함께 사용하여 1GB 파일 다운로드 성능을 캡처합니다. 비 GUI 모드에서 스크립트를 실행할 때 아래와 같은 오류가 발생합니다.

java.lang.OutOfMemoryError : Java 힙 공간 java_pid7536.hprof에 힙 덤프 ... 힙 덤프 파일이 생성됨 [17.048 초 내에 555071109 바이트] 잡히지 않은 예외 java.lang.OutOfMemoryError : 스레드 스레드의 Java 힙 공간 [Thread Group 1-1,5, main]

jmeter.bat에는 속성이 있습니다 "세트 HEAP = -Xms1g -Xmx1g -XX : MaxMetaspaceSize = 256m"

jmx 파일에 리스너가 없으며 비 GUI 모드를 사용하여 테스트합니다. 성공적인 대응을 위해 어떤 변화가 필요한지 알고 싶습니다.


  • 답변 # 1

    파일을 다운로드하는 경우 파일이 메모리에 임시로 저장되는 경우 파일을 검색 할 수 있으려면 각 JMeter 동시 스레드 (가상 사용자)에 대해 최소 1GB의 HEAP가 필요하다는 것을 의미합니다.

    편집jmeter.bat파일 및 힙 상한 변경 -Xmx 더 높은 가치. 2 기가 바이트를 제공하는 1 명의 가상 사용자에게는 다음과 같이 충분합니다.

    set HEAP=-Xms1g -Xmx2g -XX:MaxMetaspaceSize=256m
    
    

    변경 사항을 적용하려면 JMeter를 다시 시작해야합니다.

    참고 문헌 :

    Java 힙 크기 (메모리) 할당을 제어하는 ​​방법 (xmx, xms)

    JMeter로드 테스트를위한 9 가지 쉬운 솔루션 "메모리 부족"오류

    이상적으로 JMeter의 힙 소비는 JVM 힙의 30 %에서 80 % 사이 여야합니다. 실제 수는 테스트의 특성에 따라 다르며 JVisualVM을 사용하여 힙 사용량을 모니터링하기 만하면 JMeter가 가비지 수집에 너무 많은 시간을 소비하지 않도록합니다.

  • 답변 # 2

    Dmitri의 제안 외에도이 방법은 하나 또는 두 번의 다운로드에 적합하지만 10 회 이상의 병렬 다운로드를 테스트하려는 경우 전혀 확장 할 수 없다고 덧붙입니다. IMHO, 더 나은 해결책은 "응답을 MD5 해시로 저장 하시겠습니까?"를 확인하는 것입니다. HTTP 컨트롤러에서.

    이 옵션을 선택하면 샘플 결과에 응답이 저장되지 않습니다. 대신 "데이터의 MD5 해시가 계산되어 대신 저장됩니다"(설명서에서) 대량의 데이터를 테스트하기위한 것입니다. 장점은 데이터가 메모리에 저장되지 않는다는 것입니다.

관련 자료

  • 이전 python - 아니오에서 굵게 표시된 텍스트 줄만 찾는 방법 이미지
  • 다음 android - 렌더링 문제 해결 방법 Pathop ()가 지원되지 않습니까?