netstat -ano輸出中的ESTABLISHED off


今天,我們性能測試的環境出現個奇怪現象,通過oci direct load回庫的進程似乎僵死了,應用端cpu 200%(兩個線程在跑,一個是一直在ocidirectload沒反應,另外一個是正在sem_trywait),如下:

oracle服務器端從一開始收到請求並執行完成之后,就沒有反應了,也沒有等待事件,session狀態為inactive(這沒有任何副作用),ash中在此之后就沒有這個session的任何記錄了,多個分庫都是一樣的現象(比較坑的是,這個動態庫是我們研發中心開發的,代碼不open)。

目前問題還沒有時間查,主要懷疑可能是表空間滿,今天又出來了,不同的位置,但是內部都是在調用oci direct load的邏輯沒有正常返回結果碼的問題,經測試,不是這個問題。今天的異常如下:

 

繼續查看了各服務器到數據庫的網絡連接狀態,oracle服務器節點都是keepalived,應用端為off,如下:

輸出各列的含義如下:

 

以前都是等待超時之類的,off的狀態網上介紹也比較少。它是通過-o選項出來的,也就是網絡計時器。經仔細查找,off的含義如下:

keepalive - when the keepalive timer is ON for the socket
on - when the retransmission timer is ON for the socket
off - none of the above is ON

如上述所示,Recv-Q Send-Q 都是0。man也沒有寫timer的含義。所以這個問題基本上推測就在Timer身上。

連接狀態轉換圖如下:

 

參考:

https://superuser.com/questions/240456/how-to-interpret-the-output-of-netstat-o-netstat-timers

https://github.com/netty/netty/issues/7292


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM