Falha do jMeter ServerAgent no Windows Server 2016

Sep 12 2020

Estamos carregando o teste de um aplicativo .NET usando o plugin JMeter e Perfmon. Estamos executando o Perfmon ServerAgent para coletar métricas de CPU e memória no Windows Server 2008 R2 (usado para o aplicativo) e Windows Server 2016 R2 (usado para o SQL Server 2016). ServerAgent funciona bem em 2008 R2, mas o ServerAgent em 2016 R2 está travando assim que o JMeter é iniciado. Ambos os servidores estão executando a mesma versão do JRE 8.

Crash Log:

#

# 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]

#

Abaixo estão as soluções tentadas até agora e sem sorte.

  1. PerMon está sendo executado no servidor e capturando o uso de CPU e memória.

  2. Não há problemas com o tráfego de porta ou rede. O agente do servidor está recebendo a solicitação na porta 4444 em ambos os servidores. Após a falha, o JMeter mostra o erro de tempo limite, pois não é capaz de alcançar o agente do servidor.

  3. Tentamos desativação DEP, fixando-a - Ativar a DEP para programas e serviços essenciais do Windows única

  4. Executar ServerAgent com privilégio de administrador não tem efeito. Ele ainda trava.

  5. Executar ServerAgent no modo de compatibilidade não tem efeito. Ele ainda trava.

Respostas

2 DmitriT Sep 14 2020 at 13:55

Parece um bug do SIGAR e, infelizmente, não há nada que você possa fazer com ele (a menos que você queira investigar o problema sigar-amd64-winnt.dll, implementar a solução, contribuir com o SIGAR upstream e atualizar o plug-in JMeter PerfMon com a versão corrigida)

Enquanto isso, você pode considerar o SSHMon Samples Collector como solução alternativa, consulte o artigo Como monitorar a utilização de recursos do servidor com o SSHMon Listener do JMeter para obter mais detalhes