在AIX下為Oracle調整磁碟I/O引數

hooca發表於2014-10-10
A. AIO(非同步IO)


A. AIO(非同步IO)

非同步I/O允許多個程式發起I/O,而不用等待和阻塞。

AIO的引數:

minservers        aioservers最小數量,取最小CPU和10中的較小值
maxservers        aioservers最大數量,根據《文平》和《Oracle聯機文件》的建議,設定為minservers的2倍
maxreqs            邏輯磁碟數*磁碟佇列深度*4, 磁碟佇列深度一般為3,(lsattr -El hdiskXX)

檢視aioservers的數量,


點選(此處)摺疊或開啟

  1. pstat -a | grep -c aios
同時,Oracle引數 FILESYSTEMIO_OPTIONS需要設定為ASYNC或SETALL

關於AIO的更深入資訊,參見以下文件:
http://www.ibm.com/developerworks/cn/aix/library/1212_weixy_aixiaio/

B. 併發IO掛載檔案系統

一般情況下,檔案系統使用inode鎖阻止對檔案的並行寫入,以防止資料不一致。而在資料庫中,擁有自身的行鎖機制,因此無需inode鎖。

以下命令用併發IO方式掛載檔案系統


點選(此處)摺疊或開啟

  1. mount -o cio /dev/fslv00 /oracle/data

其他部分AIX引數

延後寫入(write behind),

將記憶體寫入磁碟的多次IO合併為一次,減少IO次數,提升效能。

相關引數,


點選(此處)摺疊或開啟

  1. vmo -o numclust=8
上例中,將記憶體分成16KB大小為單位的分割槽,當有8個分割槽需要寫入磁碟,才開始寫入磁碟。


啟用I/O pacing

I/O pacing 可以限制針對一個檔案的未完成 I/O 請求數量,這可以有效地防止磁碟 I/O 密集型程式。AIX 6.1 在預設情況下啟用 I/O pacing。在 AIX 5.3 中,需要顯式地啟用這個特性

點選(此處)摺疊或開啟

  1. lsattr -El sys0 -a minpout -a maxpout

minpout 0 LOW water mark for pending write I/Os per file  True
maxpout 0 HIGH water mark for pending write I/Os per file True


觀察磁碟IO狀態


點選(此處)摺疊或開啟

  1. iostat -A 1 5

重點關注

iowait
tm_act:物理磁碟活動時間百分比。

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

相關文章