db2 hadr_spool_limit

zchbaby2000發表於2018-09-29

如果DB2 HADR的standby端的log replay很慢,很容易導致standby端的HADR receive buffer, HADR TCP receive buffer滿,從而導致Primary端發的
訊息得不到回應,Primary端被堵,最終application完蛋。
在HADR的db cfg裡面有一個引數 hadr_spool_limit,它能設定log spooling,這個log spooling是個什麼東西那?在standby log replay慢的時候,它允許把接收到的log以檔案的方式放在Standby端,等Standby端慢慢來做replay
這聽起來是一個很好的主意,尤其是當Primary端處於transaction的高峰期,log源源不斷的被扔到standby端,standby端如果效能並不是很好,那log replay這個很費IO的活就乾的很慢,有了這個引數設定以後,primary就不用幹等standby的log replay了
既然接收到的log是以檔案儲存的,儲存在哪裡那?答案是在活動日誌目錄下面,所以有了這個引數以後,對於活動日誌檔案系統,要考慮大小。
在我看來,此引數和DB2_HADR_BUF_SIZE有著異曲同工之妙,一個設定的是檔案的大小,一個設定的接受快取的大小,都是為了稀釋Primary端的業務高峰,等高峰已過,Standby端再慢慢消化。
嗯,有點用空間來換取時間的概念。

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