ORACLE 11g RAC 叢集互連延遲

datapeng發表於2013-12-08

Oracle 11g開始,新引入的後臺程式ping會定期測量網路統計資訊。它會定期喚醒(大約每5分鐘喚醒一次)並測訊息傳送和塊傳送的延遲。

     
在每次喚醒時,它向所有叢集節點傳送兩條訊息(分別為500位元組和8192位元組)計算往返延遲並在內部維護這一資訊。AWR還使用這一資訊顯示報表的“Interconnect Ping Latency Stats”部分。 這一內部資料可透過X$KSXPPING檢視。

需要注意,觀察到的延遲中可能包含由於作業系統執行ping命令所造成的延遲。對於這一資料要持謹慎態度,這是因為如果存在一個長的計劃延遲或者因為主機負載而存在很高IPC延遲,那麼可能會報告一個很長的延遲。

由於叢集的正常運轉並不需要強制執行ping程式,它只是一個診斷程式因此在計劃調度中並沒有將其設定為實時執行。ping程式設定為實時執行可能會克服上述問題;但是,考慮到這一程式的重要程度(或 者說不重要性)並不建議這樣做。建議以預設的時間共享調度模式來執行ping程式。

與過去一樣,建議在叢集正常執行時建立基準統計資訊並在注意到效能問題時對比來自X$KSXPPING互聯延遲值。

     
ping程式有一個已知缺陷(6511290),它會生成極高的網路通信量,導致11.1.0.7版本的CPU使用率極高.如果注意到ping程式佔用了很多CPU 處理時間那麼可以關閉該程式將引數_ksxp_ping_enable設定為 FALSE.

內部檢視X$KSXPCLIENT供了其他診斷程式在Oracle 11g RAC環境中生成的整體網路通訊流量。
       
可以使用以下SQL查詢來檢視ping程式生成的網絡通訊流量:
        
select * from X$KSXPCLIENT where name ='ping';

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29371470/viewspace-1062702/,如需轉載,請註明出處,否則將追究法律責任。

相關文章