IO錯誤:網路適配器無法在Jmeter負載測試中建立連接

IO錯誤:網路適配器無法在Jmeter負載測試中建立連接

我正在使用Jmeter 對Web 服務SOAP 進行負載測試,在非GUI 模式下,自300 個線程數開始,我開始收到錯誤,這是透過「回應斷言」檢測到的,規則如下:「測試失敗:文本不期望包含 /"rta":"FAIL"/"。

在 GUI 模式下,我可以在「檢視結果樹」中看到幾個範例的錯誤:

IO 錯誤:網路介面卡無法建立連接

我目前的Oracle配置是:

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

到達時間:

current_utilization, limit_value
177, 987

游標

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;

到達時間:

  highest_open_cur, max_open_cur
  241, 4000

¿


更多資訊: ...

資料庫版本:

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設定:

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

測試計劃:

  • 線程組(線程數 320、加速週期 37、循環計數 1)
  • 5 個 HTTP 請求,每個請求有 1 個斷言。
  • 1 個監聽器 PerfMon 指標收集器

伺服器指標

網路

答案1

該錯誤是由Oracle JDBC 驅動程式當無法與資料庫建立連線時。

這是另一個例子患有同樣問題的人。

我的期望是您的應用程式沒有正確使用連接池模式(或根本沒有實現),因此執行查詢後連線不會關閉。我建議使用分析器工具檢查您的應用程序,例如JProfiler或者你的工具包- 這樣您將對正在發生的事情有更清晰的認識。

解決問題的另一種方法是針對資料庫執行負載測試,即直接執行查詢,而無需使用 JMeter 的臨時 SOAP API 調用JDBC 請求採樣器。透過這種方式,您將能夠表明資料庫運作正常,問題出在 Java 應用程式上(反之亦然)。看使用 JMeter 建立資料庫測試計劃的真正秘密熟悉使用 JMeter 進行資料庫負載測試的概念。

相關內容