Erro IO: O adaptador de rede não conseguiu estabelecer a conexão no teste de carga Jmeter

Erro IO: O adaptador de rede não conseguiu estabelecer a conexão no teste de carga Jmeter

Estou fazendo um teste de carga para Web Service SOAP com Jmeter, no modo não GUI começo a receber erros desde 300 Número de Threads, isso foi detectado com uma "Asserção de Resposta" com esta regra: "Teste falhou: texto esperado não conter /"rta":"FAIL"/".

No modo GUI posso ver o erro de várias amostras em "visualizar árvore de resultados":

Erro IO: O adaptador de rede não conseguiu estabelecer a conexão

Minha configuração atual do Oracle é:

select current_utilization, limit_value 
from v$resource_limit 
where resource_name='sessions';

Rta:

current_utilization, limit_value
177, 987

Cursores

select max(a.value) as highest_open_cur, p.value as max_open_cur
  from v$sesstat a, v$statname b, v$parameter p
  where a.statistic# = b.statistic# 
  and b.name = 'opened cursors current'
  and p.name= 'open_cursors'
  group by p.value;

Rta:

  highest_open_cur, max_open_cur
  241, 4000

¿Este erro está relacionado com alguma configuração no banco de dados oracle?


Mais Informações: ...

Versão do banco de dados:

Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production
TNS for 64-bit Windows: Version 12.2.0.1.0 - Production

Configurações do Jmeter:

Inter® Xeon® Gold 6126 CPU @2.6 Ghz 
4 Sockets, 4 Virtual Processors
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
HEAP=-Xms20G -Xmx20G -XX:MaxMetaspaceSize=128m
Windows Server 2016 Standard

Plano de teste:

  • Grupo de threads (número de threads 320, período de aceleração 37, contagem de loops 1)
  • 5 solicitações HTTP com 1 asserção cada.
  • 1 coletor de métricas PerfMon de ouvinte

Métricas do Servidor

Rede

Responder1

O erro está sendo lançado porDriver JDBC Oraclequando não consegue estabelecer conexão com o banco de dados.

Aqui estáoutro exemplode alguém que sofre do mesmo problema.

Minha expectativa é que seu aplicativo não esteja usando corretamenteConjunto de conexõespadrão (ou simplesmente não está implementado) para que as conexões não sejam fechadas após a execução da consulta. Eu recomendaria verificar seu aplicativo usando uma ferramenta de criação de perfil comoJProfilerouSeuKit- assim você terá uma visão mais clara do que está acontecendo.

Outra maneira de chegar ao fundo do problema é executar um teste de carga no banco de dados, ou seja, executar consultas diretamente sem chamadas provisórias de API SOAP usando JMeter'sSolicitação JDBCamostrador. Desta forma você poderá afirmar que o banco de dados funciona bem e o problema está na aplicação Java (ou vice-versa). VerO verdadeiro segredo para construir um plano de teste de banco de dados com JMeterpara se familiarizar com o conceito de teste de carga de bancos de dados usando JMeter.

informação relacionada