池中沒有可用的連線。 netstat RecvQ 顯示高數字

池中沒有可用的連線。 netstat RecvQ 顯示高數字

在我們的伺服器中,有一個特定的依賴項(java jar),它總共與各種遠端伺服器建立了 1024 個連接(該庫作為服務發現)。

間歇性地,我們觀察到連接池中的所有連接都被耗盡,並且沒有可用於該特定服務的傳入流量的連接。在這種情況下,重新啟動此類服務是釋放連線的唯一方法。

當發生此類問題時,netstat 顯示許多連線(1000+)處於 ESTABLISHED 狀態,並且在 recvQ 中具有非常高的數量。

tcp    71464      0 localhost:57076 remote-host1:31200 ESTABLISHED
tcp    70512      0 localhost:47611 remote-host2:31200 ESTABLISHED
tcp    66184      0 localhost:44825 remote-host3:31200 ESTABLISHED
tcp    70512      0 localhost:40802 remote-host4:31200 ESTABLISHED
tcp    70016      0 localhost:58045 remote-host5:31200 ESTABLISHED
tcp    71464      0 localhost:35375 remote-host6:31200 ESTABLISHED
tcp    71464      0 localhost:48860 remote-host7:31200 ESTABLISHED

連線未從遠端主機接收資料可能是什麼問題。

相關內容