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

2

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

No modo GUI, vejo o erro de vários exemplos na "visualização Árvore de resultados":

IO Error: The Network Adapter could not establish the connection

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

¿This error is relate with some configuration in oracle database?

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 Encadeamentos (Número de Encadeamentos 320, Período de Reforço 37, Contagem de Loop 1)
  • 5 Solicitação HTTP com 1 asserção cada um.
  • 1 Colecionador de métricas do Perfurador de ouvintes

    
por Goerman 13.03.2018 / 22:38

1 resposta

2

O erro está sendo lançado pelo Driver JDBC do Oracle quando não é possível estabelecer conexão com o banco de dados.

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

Minha expectativa é que seu aplicativo não esteja usando adequadamente o padrão Conjunto de conexões (ou simplesmente não esteja implementado), para que as conexões sejam não sendo fechado após a execução da consulta. Eu recomendaria verificar seu aplicativo usando uma ferramenta de perfil como JProfiler ou YourKit - desta forma, você terá uma visão mais clara sobre o que está acontecendo.

Outra maneira de chegar à parte inferior do problema é executar um teste de carga no banco de dados, ou seja, executar consultas diretamente sem chamadas de API SOAP temporárias usando o JMeter Amostrador JDBC . Dessa forma, você poderá afirmar que o banco de dados funciona bem e o problema é com o aplicativo Java (ou vice-versa). Veja O verdadeiro segredo para construir um plano de teste de banco de dados com JMeter para obter familiarizado com o conceito de teste de carga de bancos de dados usando o JMeter.

    
por 14.03.2018 / 09:34

Tags