Error de IO: el adaptador de red no pudo establecer la conexión en la prueba de carga de Jmeter

Error de IO: el adaptador de red no pudo establecer la conexión en la prueba de carga de Jmeter

Estoy haciendo una prueba de carga para el servicio web SOAP con Jmeter, en modo sin GUI empiezo a recibir errores desde 300 números de subprocesos, esto se detectó con una "Aserción de respuesta" con esta regla: "Prueba fallida: no se esperaba texto para contener /"rta":"FAIL"/".

En el modo GUI puedo ver el error de varias muestras en "ver árbol de resultados":

Error de IO: el adaptador de red no pudo establecer la conexión

Mi configuración actual de Oracle es:

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 error está relacionado con alguna configuración en la base de datos Oracle?


Más información: ...

Versión de la base de datos:

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

Configuración del medidor:

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

Plan de prueba:

  • Grupo de subprocesos (número de subprocesos 320, período de aceleración 37, recuento de bucles 1)
  • 5 Solicitudes HTTP con 1 aserción cada una.
  • 1 recopilador de métricas de rendimiento de oyente

Métricas del servidor

Red

Respuesta1

El error está siendo arrojado porControlador JDBC de Oraclecuando no puede establecer conexión con la base de datos.

Aquí estáotro ejemplode alguien que sufre el mismo problema.

Mi expectativa es que su aplicación no esté usando correctamenteGrupo de conexionespatrón (o simplemente no está implementado) para que las conexiones no se cierren después de ejecutar la consulta. Recomendaría verificar su aplicación usando una herramienta de generación de perfiles comoJProfileroTuKit- De esta manera tendrás una visión más clara de lo que está pasando.

Otra forma de llegar al fondo del problema es ejecutar una prueba de carga en la base de datos, es decir, ejecutar consultas directamente sin llamadas provisionales a la API SOAP utilizando JMeter.Solicitud JDBCdechado. De esta manera podrá afirmar que la base de datos funciona bien y que el problema está en la aplicación Java (o viceversa). VerEl verdadero secreto para crear un plan de prueba de base de datos con JMeterfamiliarizarse con el concepto de pruebas de carga de bases de datos utilizando JMeter.

información relacionada