netstat -ano輸出中的ESTABLISHED off

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

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

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

 

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

輸出各列的含義以下:網絡

 

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

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
oracle

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

鏈接狀態轉換圖以下:性能

 

參考:測試

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

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

相關文章
相關標籤/搜索