filesystemio_options設定說明
前言
控制著作業系統io的設定。該引數只作用於檔案系統。它有四個值可供設定,分別是:{none | setall | directIO | asynch }。該引數預設值受資料庫版本和作業系統型別及作業系統版本影響。
從oracle 10G開始,對於ASM磁碟管理的情況,filesystem_option引數不作用於ASM磁碟管理的資料庫。
I/O 說明
說明
在Synchronous I/O 的機制下,若一個Oracle程式想呼叫一個I/O請求,那麼必須等待其他請求完成後才能呼叫。例如,如果它發起對幾個資料塊的讀取,那麼程式就必須等待它把所有資料塊都讀取到記憶體之後,才能進行下一個動作。
說明
在Asynchronous I/O 的機制下,程式可以與I/O請求同時工作。對已經讀取的資料塊,可以直接進行處理,不用等待所有資料塊全部載入完畢再處理。
說明
在buffer I/O機制下,作業系統有自己的一套用於維護磁碟資料的cache,而不是直接從process buffer讀取或者寫入。其原理是從磁碟中讀取資料寫入cache,然後複製至process buffer。或者從process buffer中複製至cache然後寫入到磁碟中。
說明
Direct I/O 能讓所有的讀和寫的請求直接來自於磁碟,繞過作業系統快取。
在ASM磁碟管理下,為了防止叢集管理的資料庫的資料損壞,必須直接使用Direct I/O。
對於使用檔案系統的資料庫環境,Oracle發出的讀取請求可以從OS緩衝區中得到滿足,而一旦啟用direct I/O又不增加SGA大小,將導致磁碟讀取需要更多的時間才能完成。為了充分利用direct I/O,需要將用於OS快取部分增加到資料庫SGA中。
filesystemio_options 和liao 引數說明
disk_asynch_io 是相當於主開關,不管是檔案系統還是裸裝置,它都控制著非同步io的開啟與關閉,filesystemio_options是子開關,控制著檔案系統上的非同步io。如果資料庫使用了檔案系統, 那麼I/O只受filesystemio_options控制。
的情況
RAC 環境下,direct I/O是預設開啟的。並且在ASM磁碟管理下,I/O肯定是非同步的,而且直接做的是direct I/O。所以,對於ASM磁碟管理,不用設定filesystemio_options,只要設定合理的SGA和PGA大小即可。(詳情見mos:Document 751463.1)
單機的情況
在檔案系統檔案管理的情況下,那麼非同步I/O的開啟則受filesystemio_options的控制影響。
以下是Oracle官方檔案系統管理的情況下,使用同/非同步IO,快取/直接IO的設定矩陣說明。
檔案系統設為開啟非同步和直接IO那麼就選setall選項,開啟同步和直接IO就選directIO選項。
引數配置說明
1 、單機環境下,非同步IO受filesystemio_options控制,此引數用於特定的平臺,各個作業系統平臺預設值不一樣,linux平臺預設是none,更改選項語句格式:
ALTER SYSTEM SET FILESYSTEMIO_OPTIONS={SETALL|ASYNCH| DIRECTIO|NONE}SCOPE=SPFILE;
2 、RAC環境下,Asynchronous IO受DISK_ASYNCH_IO引數控制,預設是TRUE,更改選項語句格式:
ALTER SYSTEM SET DISK_ASYNCH_IO={FALSE|TRUE} SCOPE=SPFILE;
Oracle 建議您將此引數設定為其預設值。但是,如果asynchronous I/O 效能不穩定,則可以將此引數設定為false,以禁用asynchronous I/O 。如果您的平臺不支援磁碟asynchronous I/O ,則此引數不起作用。
引數配置建議
在linux下FILESYSTEMIO_OPTIONS引數配置建議:
filesystem_option 引數,只有在9i,10G的時代,AIX、HP小機,使用祼裝置的情況下設定filesystem_option為非同步+直接I/O,電信也是基於這樣的環境下設定該引數,10G開始,有了ASM,filesystem_option可以由Oracle自動配置,特別是11G及以上都是預設none,而對於檔案系統,不建設設定為非同步+直接I/O。
setall : 儲存I/O效能良好的情況下設定,可以大幅提升I/O總體效能,尤其是寫效能,如果多套資料庫公用一套儲存則不建議設定此引數。使用場景除了小機和裸裝置,檔案系統如果要開啟的話,需要具備兩點:1、把檔案系統的cache記憶體加到SGA上去,變向的保證快取量,2、修改前作業系統磁碟效能指標正常不存在瓶頸。磁碟監控的主要iostat指標如下:
使用率(%util ) :是指磁碟 I/O 的百分比。過高的使用率(比如達到 80% 及以上),通常意味著磁碟 I/O 存在效能瓶頸。
佇列長度(aqu-sz ): 平均請求佇列長度
IOPS (r/s+ w/s ): 是指每秒的 I/O 請求數。
吞吐量(rkB/s+wkB/s ) :是指每秒的 I/O 請求大小。
響應時間(r_await+w_await ) :是指 I/O 請求從發出到收到響應的間隔時間。
* 對於 aqu-sz ,r/s+ w/s ,rkB/s+wkB/s ,r_await+w_await 的幾個指標,基線是每個環境都不一樣的,如果要定基線找幾個環境開始監控這些指標,作為正常時間段的基線。
注意:除了作業系統層面指標出現大幅異常,我們同樣需要注意資料庫層面的等待事件(db file sequential/scattered read,direct path read/write等),特別需要注意開啟前後與I/O相關的等待響應時間是否發生大幅變化。
directIO : 直接繞過快取,使用directIO引數意味著Synchronous I/O 需要等待其他請求完成後才能呼叫,對儲存壓力較大。且消耗CPU資源,不建議在生產上設定此引數。
asynch : 非同步IO可以提高效能,但是顯而易見的是對磁碟處理IO能力有較高要求,否則提交的處理請求多,處理能力跟不上,根本無法達到提高效能的要求。(開啟前請先檢查磁碟IO處理能力,若磁碟效能已在臨界值,開啟後總體效能反而會有明顯下降)
None : 預設引數,由Oracle自身調節,有較好的綜合表現。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23825935/viewspace-2894319/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Azure Blob (三)引數設定說明
- delphi 常用控制元件屬性設定說明控制元件
- php-fpm7.0 慢查詢設定及說明PHP
- J2SE - JDK環境變數的說明和設定JDK變數
- 02 Vue預設專案說明Vue
- Kustomize 設計理念與使用說明
- 說明
- Zabbix系統MySQL資料庫分割槽表的設定--精簡說明MySql資料庫
- 前端meta標籤內容定義及使用說明,meta詳細說明,meta標籤使用前端
- EMC傳動裝置設計說明
- [20181219]測試設定引數filesystemio_options與開啟資料檔案的flag.txt
- 使用說明
- Hack 說明
- 專利說明書及其說明書附圖
- 舉例說明photoshop中的設定與css哪些屬性是對應的呢?CSS
- openssh版本更新與說明 openssl版本更新與說明
- SDWebImage中文說明Web
- git 操作說明Git
- objc物件說明OBJ物件
- MOBIM介面說明
- Oracle Latch 說明Oracle
- SpringBoot整合說明Spring Boot
- FreeSql 使用說明SQL
- postman 使用說明Postman
- QLExpress使用說明Express
- WebApiClientCore使用說明WebAPIclient
- ThinkSNS 更新說明
- Jupiter 使用說明
- certbot 使用說明
- cmake使用說明
- 轉換說明
- rust配置說明Rust
- flowable 更新說明
- ApplicationContextAware使用說明APPContext
- Ironic映象說明
- 說明符%d
- 程式設計不良人小專案合集說明程式設計
- winscp操作說明,winscp操作說明的詳細解讀