您好,登錄后才能下訂單哦!
在DB2數(shù)據(jù)庫HADR監(jiān)控中發(fā)現(xiàn),每天有一段時(shí)間,有很多應(yīng)用處于commit active狀態(tài),對(duì)應(yīng)用性能有影響
猜測(cè)可能是兩種原因造成
日志寫的慢
網(wǎng)絡(luò)通信慢
到底是哪個(gè)原因那?用監(jiān)控?cái)?shù)據(jù)來說話。
以每5秒鐘一次的頻率,運(yùn)行下面的SQL
INSERT INTO temp1 select CURRENT_TIMESTAMP, LOCK_WAIT_TIME ,LOG_DISK_WAIT_TIME,TOTAL_COMMIT_TIME from TABLE(MON_GET_WORKLOAD('',-2)) AS t;
一起運(yùn)行的還有下面的這個(gè)SQL
INSERT INTO temp2 select CURRENT_TIMESTAMP,LOG_WRITE_TIME,LOG_WRITES,LOG_HADR_WAIT_TIME,LOG_HADR_WAITS_TOTAL from table(mon_get_transaction_log(-1)) as t;
表函數(shù)的監(jiān)控,得到的是一個(gè)累積值,想辦法得到每5秒鐘的差值,就可以看到哪一段時(shí)間內(nèi),數(shù)據(jù)發(fā)生了異常
來自表temp1的數(shù)據(jù)
TIMESTAMP / LOCK_WAIT_TIME /LOG_DISK_WAIT_TIME/TOTAL_COMMIT_TIME
17:39:16, 0, 2, 3,
17:39:21, 0, 2, 2,
17:39:26, 0, 2, 2,
17:39:31, 0, 4, 4,
17:39:37, 0, 2, 2,
17:39:42, 0, 9, 9,
17:39:47, 0, 3, 3,
17:39:52, 79, 99, 99, <====
17:39:58, 0, 3, 3,
17:40:03, 0, 2, 2,
17:40:08, 1, 4, 4
LOG_DISK_WAIT_TIME和日志寫時(shí)間,還可能和HADR通信時(shí)間相關(guān),在HADR環(huán)境下,SYNC或者NEARSYNC模式,Primary端的transaction需要獲得Standby端的確認(rèn)信息以后才能Commit,這個(gè)地方就涉及到了HADR的通信。
下一步就要看對(duì)于一個(gè)transaction,日志寫平均需要多長時(shí)間,HADR通信需要多長時(shí)間
來自表temp2的數(shù)據(jù)
Log write Time per IOs = LOG_WRITE_TIME(把日志寫到磁盤上的時(shí)間,單位是微妙) / LOG_WRITES (日志寫的次數(shù))
AVG HADR Wait time = LOG_HADR_WAIT_TIME (等待HADR把日志發(fā)送完成的時(shí)間)/ LOG_HADR_WAITS_TOTAL (總等待次數(shù))
TIMESTAMP /Log write Time per IOs /AVG HADR Wait time
17:39:16, 0.310, 0.041
17:39:21, 0.298, 0.042
17:39:26, 0.308, 0.040
17:39:32, 0.302, 0.072
17:39:37, 0.294, 0.042
17:39:42, 0.342, 0.805<===
17:39:47, 0.326, 0.058
17:39:52, 0.334, 0.485<===
17:39:57, 0.344, 0.064
17:40:02, 0.299, 0.046
通過數(shù)據(jù)可以看到日志寫的時(shí)間,沒有發(fā)生多大的變化,但是HADR的平均等待時(shí)間相差很大,下面就需要詳細(xì)的調(diào)查網(wǎng)絡(luò)問題。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。