
在我們的伺服器中,有一個特定的依賴項(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
連線未從遠端主機接收資料可能是什麼問題。