透過addm分析io問題
在使用top命令檢視程式的使用情況時,留意到rman的一些程式正在執行。但是大晚上的哪找客戶的人來確認這個,使用dd來測試io的效能,建立一個200M的檔案,不到1秒鐘,還是比較快的。
但是可以看到iowait很高。
這個問題造成的影響還是比較嚴重的,因為目前為止還沒有完全確定問題的根源,如果是後臺的一些程式在執行,影響到底有多少,還沒有估量,但是可以明顯的看到資料庫是不給力的,undo的空間到後面的資料匯入中不僅足夠充裕,還不斷釋放一些空間,讓人感覺很鬱悶,但是又插不上什麼手。
下午的時候,和客戶的儲存部門,unix部門等的人一起開會,大家都列除了昨晚的一些問題總之就是發現了問題,但是因為那個段知道的動作就是我們在做資料匯入,還沒法確定到底是不是他們的問題。所以大家雖然能夠列出一些圖表資料,說明問題但是還是沒有能夠明確的定位問題。
我拿出了資料庫層面反應資料庫繁忙程度的一個指標,redo的切換率,在週一做的一次資料遷移中,redo在一個小時甚至達到了200多次。redo日誌是1個G左右的樣子。
DBNAME TIME_STAMP
--------- --------------------
PRODB 2014-Aug-14 23:09:09
GROUP# THREAD# SEQUENCE# MEMBERS SIZE_MB ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
1 1 3389 2 1024 YES INACTIVE
2 1 3390 2 1024 YES INACTIVE
3 1 3391 2 1024 NO CURRENT
4 1 3388 2 1024 YES INACTIVE
Redo Switch times per hour PRODB 2014-Aug-14 23:09:09
MON DA 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
--- -- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
07 31 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 5 1 0 4 1 0 0 2
08 01 35 51 19 0 0 1 0 0 1 0 1 4 2 1 2 9 5 4 3 4 3 2 2 2
08 02 1 1 1 8 0 1 0 1 1 1 1 11 0 0 1 0 0 1 0 0 1 0 0 1
08 03 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 2 2 3 1 0 0 1
08 04 0 0 1 0 0 1 0 0 1 0 0 1 1 1 3 3 2 3 1 1 1 0 0 1
08 05 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1
08 06 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1
08 07 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 4 6 1 0 0 1
08 08 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 14 0 7 2 0 3 0 1 1
08 09 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 1 0 1 0 0 1
08 10 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1
08 11 0 0 1 0 0 1 0 0 1 0 109 207 34 0 1 0 0 1 0 0 1 0 0 1
08 12 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1
08 13 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 1 24 123 65 25 22 22 19
08 14 22 29 30 25 21 16 0 0 1 27 42 1 0 0 2 22 2 5 5 5 4 5 3 0
但是在昨晚的時候,簡直是慘淡。到後面自己都不忍看這個速度了,眯了好一會,還在慢慢的做資料匯入。
我提到了rman的影響,但是似乎客戶那邊還不是很確定是這個問題影響的。因為據他們說之前一直沒有碰到過io的問題,上一次做資料匯入的時候還是在白天,更不能說明了。
在大家都有依據,但是沒有方向的,聽聽oracle怎麼說,得到一個詳盡的addm報告,然後就可以看到裡面清晰的分析了io的一些問題,有很大一部分是由於rman導致的。
亮點是最後兩處。
Finding 8: I/O Throughput
Impact is .8 active sessions, 2.23% of total activity.
------------------------------------------------------
The throughput of the I/O subsystem was significantly lower than expected.
Recommendation 1: Host Configuration
Estimated benefit is .8 active sessions, 2.23% of total activity.
-----------------------------------------------------------------
Action
Consider increasing the throughput of the I/O subsystem. Oracle's
recommended solution is to stripe all data files using the SAME
methodology. You might also need to increase the number of disks for
better performance.
Rationale
During the analysis period, the average data files' I/O throughput was
61 M per second for reads and 42 M per second for writes. The average
response time for single block reads was 1.3 milliseconds.
Recommendation 2: Host Configuration
Estimated benefit is .27 active sessions, .76% of total activity.
-----------------------------------------------------------------
Action
Consider slowing down RMAN or Data Pump activity, or scheduling these
jobs when user activity is lower.
Rationale
The I/O throughput on data and temp files was divided as follows: 34% by
RMAN, 0% by Data Pump, 0% by Recovery and 65% by all other activity.
Symptoms That Led to the Finding:
---------------------------------
Wait class "User I/O" was consuming significant database time.
Impact is 12.58 active sessions, 35% of total activity.
有了這些分析,也有了一些說服力,他們開始查詢問題發生的那個時間段的一些可能影響,結果網路組的人發現從8點開始網路頻寬消耗異常的高。但是我們做資料匯入是不依賴網路的。
然後他們繼續排查,備份組發現設定了crontab,從8點開始會做備份到磁帶庫中。
問題一下子有了一種峰迴路轉的感覺。最後一定位,在結合一些相關的資料來做分析,道理就說得通了。
在有些場合中,官方的報告要好於一些主觀的資料分析。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8494287/viewspace-1347060/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 通過addm分析io問題
- 透過ADDM進行SQL調優SQL
- 透過迴圈引用問題來分析Spring原始碼Spring原始碼
- 透過AWR REPORT 或 ADDM REPORT進行SQLTUNESQL
- systemtap分析軟raid io拆分問題AI
- SonarQube系列-透過配置掃描分析範圍,聚焦關鍵問題
- 透過執行計劃中的CONCATENATION分析sql問題SQL
- ADDM報告分析
- 解決Rust -- update crates.io過慢的問題Rust
- 一次IO效能問題的發現過程
- Oracle IO問題解析Oracle
- oracle IO 問題解析Oracle
- 如何透過dba_hist_active_sess_history分析歷史資料庫效能問題資料庫
- 透過Treeset解決隨機數排序問題隨機排序
- itm6中透過防火牆訪問tep browser問題防火牆
- Oracle IO問題解析(ZT)Oracle
- Oracle IO問題解析(7)Oracle
- 前端面試問到的題透過5k前端面試
- STM32埠IO方向設定問題的IO方向設定問題
- 透過API訪問HDFSAPI
- 透過sql語句分析足彩SQL
- 透過shell指令碼分析足彩指令碼
- 演算法分析——青蛙過河問題演算法
- 通過blktrace, debugfs分析磁碟IO
- 如何透過CRM解決公司業績下滑的問題
- netbeans透過wsdl生成webservice的UTF8問題BeanWeb
- AWR、ASH、ADDM和顧問程式
- 通過ADDM進行SQL調優SQL
- 【kingsql分享】ADDM的研究和分析SQL
- 透過shell指令碼抓取awr報告中的問題sql指令碼SQL
- autohotkey透過com物件控制excel的許可權問題物件Excel
- IO分析
- 滲透測試 網站安全測試行業問題分析網站行業
- Druid.io系列4:索引過程分析UI索引
- zt_Oracle IO問題解析系列Oracle
- vnc viewer透過外網訪問,vnc viewer透過外網訪問8個步驟VNCView
- vue 透過過濾器格式化時間ios出現NaN的問題Vue過濾器iOSNaN
- 透過API訪問IE Cache (轉)API