Windows Server 2016에서 jMeter ServerAgent 충돌

Sep 12 2020

JMeter 및 Perfmon 플러그인을 사용하여 .NET 애플리케이션 테스트를로드하고 있습니다. Perfmon ServerAgent를 실행하여 Windows Server 2008 R2 (앱에 사용됨) 및 Windows Server 2016 R2 (SQL Server 2016에 사용됨)에서 CPU 및 메모리 메트릭을 수집하고 있습니다. ServerAgent는 2008 R2에서 제대로 작동하지만 JMeter가 시작 되 자마자 2016 R2의 ServerAgent가 충돌합니다. 두 서버 모두 동일한 버전의 JRE 8을 실행합니다.

충돌 로그 :

#

# A fatal error has been detected by the Java Runtime Environment:

#

#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000010014ed4, pid=6340, tid=0x000000000000214c

#

# JRE version: Java(TM) SE Runtime Environment (8.0_261-b12) (build 1.8.0_261-b12)

# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.261-b12 mixed mode windows-amd64 compressed oops)

# Problematic frame:

# C  [sigar-amd64-winnt.dll+0x14ed4]

#

아래는 지금까지 시도 된 솔루션이며 운이 없습니다.

  1. PerMon은 서버에서 실행 중이며 CPU 및 메모리 사용량을 캡처합니다.

  2. 포트 또는 네트워크 트래픽에는 문제가 없습니다. 서버 에이전트가 두 서버의 포트 4444에서 요청을 수신하고 있습니다. 충돌 후 JMeter는 서버 에이전트에 연결할 수 없으므로 시간 초과 오류를 표시합니다.

  3. DEP를 다음으로 설정하여 비활성화 해 보았습니다. 필수 Windows 프로그램 및 서비스에 대해서만 DEP 켜기

  4. 관리자 권한으로 ServerAgent를 실행해도 효과가 없습니다. 여전히 충돌합니다.

  5. 호환성 모드에서 ServerAgent를 실행해도 효과가 없습니다. 여전히 충돌합니다.

답변

2 DmitriT Sep 14 2020 at 13:55

그것은 같은 소리 SIGAR 버그 (당신이 가진 문제를 조사하려는 경우가 아니면 불행하게도 당신이 그것으로 할 수있는 일은 없다 sigar-amd64-winnt.dll고정 버전으로 JMeter를 성능 모니터링 플러그인 업스트림 및 업데이트 SIGAR에 기여, 솔루션 구현이)

그동안 SSHMon Samples Collector 를 해결 방법으로 고려할 수 있습니다. 자세한 내용 은 JMeter의 SSHMon Listener를 사용하여 서버 리소스 사용률을 모니터링하는 방법 문서를 확인하세요.