IO-Fehler: Der Netzwerkadapter konnte im Jmeter-Lasttest keine Verbindung herstellen

IO-Fehler: Der Netzwerkadapter konnte im Jmeter-Lasttest keine Verbindung herstellen

Ich führe einen Belastungstest für Web Service SOAP mit Jmeter durch. Im Nicht-GUI-Modus erhalte ich ab einer Thread-Anzahl von 300 Fehler. Dies wurde mit einer „Antwort-Assertion“ mit der folgenden Regel erkannt: „Test fehlgeschlagen: Text darf voraussichtlich nicht /„rta“: „FAIL“/ enthalten.“

Im GUI-Modus kann ich den Fehler mehrerer Beispiele in „Ergebnisbaum anzeigen“ sehen:

IO-Fehler: Der Netzwerkadapter konnte die Verbindung nicht herstellen

Meine aktuelle Oracle-Konfiguration ist:

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

Rta:

current_utilization, limit_value
177, 987

Cursor

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

Hängt dieser Fehler mit einer Konfiguration in der Oracle-Datenbank zusammen?


Mehr Informationen: ...

Datenbankversion:

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

JMeter-Einstellungen:

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

Versuchsplan:

  • Thread-Gruppe (Anzahl der Threads 320, Hochlaufzeit 37, Schleifenzahl 1)
  • 5 HTTP-Anfragen mit jeweils 1 Behauptung.
  • 1 Listener PerfMon-Metriken-Sammler

Servermetriken

Netzwerk

Antwort1

Der Fehler wird ausgelöst durchOracle JDBC-Treiberwenn keine Verbindung zur Datenbank hergestellt werden kann.

Hier istein anderes Beispielvon jemandem, der unter dem gleichen Problem leidet.

Ich vermute, dass Ihre Anwendung nicht richtig verwendetVerbindungspoolMuster (oder es ist einfach nicht implementiert), sodass Verbindungen nach der Ausführung der Abfrage nicht geschlossen werden. Ich würde empfehlen, Ihre Anwendung mit einem Profiler-Tool wie zu überprüfenJProfileroderIhrKit- Auf diese Weise erhalten Sie eine klarere Sicht auf das, was vor sich geht.

Eine weitere Möglichkeit, dem Problem auf den Grund zu gehen, ist die Ausführung eines Belastungstests der Datenbank, d. h. die direkte Ausführung von Abfragen ohne zwischenzeitliche SOAP-API-Aufrufe mithilfe von JMeter.JDBC-AnforderungSampler. Auf diese Weise können Sie feststellen, dass die Datenbank einwandfrei funktioniert und das Problem bei der Java-Anwendung liegt (oder umgekehrt). SieheDas wahre Geheimnis zum Erstellen eines Datenbanktestplans mit JMeterum sich mit dem Konzept des Datenbank-Lasttests mit JMeter vertraut zu machen.

verwandte Informationen