目錄
主要關注指標
iops 頻寬
響應時間
磁碟繁忙程度
服務佇列滿
檔案系統使用率
inode使用率
業務伺服器的作業系統作為儲存的使用者只能看到disk(儲存層面的lun),而儲存管理員才知道儲存內部的具體raid方式、條帶化方式等等,在關注系統效能的活動(效能測試、效能調優)中,一般很少直接關注磁碟io的指標,而是遇到效能問題(比如業務的響應時間非常慢),並且逐步排查到磁碟時,才重點關注磁碟io的效能指標。這是因為,磁碟io的效能的確是不好拿乙個指標說清楚的事。
當磁碟io有效能問題,需要分析iops、mbps、服務時間、平均每次寫入的block大小、佇列等待時間等指標,分析io路徑、驅動、光纖卡、光纖交換機、後台儲存的規劃、硬碟域和儲存池劃分、thin lun還是thick lun、儲存的快取設定、io的qos、磁碟型別、儲存介面模組數量、raid劃分、是否配置快照、轉殖、遠端複製等增值功能、儲存控制器的cpu利用率,甚至資料在碟片的中心還是邊緣等等。
本節並不主要從儲存的角度介紹,而是從儲存的使用者(業務伺服器的作業系統)的角度介紹磁碟io的效能指標,以及相關分析。
雖然每類物理資源都有n個效能指標來體現,但cpu、記憶體資源最主要的指標只有乙個,即利用率,但磁碟io的主要指標卻有三個(iops、頻寬、響應時間)。這是因為儲存的能力會根據io模型的不同而差異較大,io模型可以理解為讀io和寫io的比例、順序的還是隨機的、每個io的大小等等。例如:當測試iops***能力的時候,採用隨機小io進行測試,此時占用的頻寬是非常低的,響應時間也會比順序的io要長很多。而測試順序大io時,此時頻寬占用非常高,但iops卻很低。
從業務伺服器、儲存控制器、前端主機埠、磁碟、lun、儲存池等角度,都有以下三個主要指標,本文重點從業務伺服器角度介紹。
i/o per second,即每秒鐘可以處理的i/o個數,用來衡量儲存系統的i/o處理能力。在資料庫oltp(online transaction processing)業務場景,通常以iops衡量系統的效能。測量儲存的***iops往往是以隨機讀寫小io來評估。
1. 獲取**
總iops:nmon disk_summ sheet:io/sec
每個盤對應的讀iops :nmon diskrio sheet
每個盤對應的寫iops :nmon diskwio sheet
總iops:命令列iostat -dl:tps
每個盤對應的讀iops :命令列iostat -dl:rps
每個盤對應的寫iops :命令列iostat -dl:wps
2. 適用場景
對於i/o小於64kb的應用場景,儲存效能主要關注iops指標。
oltp應用的負載特徵如下:
從資料庫角度看:
– 每個事務的讀、寫、更改涉及的資料量非常小。
– 資料庫的資料必須是***的,所以對資料庫的可用性要求很高。
– 同時有很多使用者訪問。
– 要求資料庫快速響應,通常乙個事務需要在幾秒內完成。
從儲存角度看:
– 每個i/o非常小,通常為2kb~8kb。
– 訪問硬碟資料的位置非常隨機。
– 至少30%的資料是隨機寫操作。
– redo日誌(重做日誌檔案)寫入非常頻繁
1. 獲取**
總頻寬:nmon disk_summ sheet:disk read kb/s,disk write kb/s
每個盤對應的讀頻寬:nmon diskread sheet
每個盤對應的寫頻寬:nmon diskwrite sheet
總頻寬:命令列iostat -dl:bps
每個盤對應的讀頻寬:命令列iostat -dl:bread
每個盤對應的寫頻寬:命令列iostat -dl:bwrtn
2. 適用場景
對於i/o大於等於64kb的應用場景,儲存效能主要關注頻寬指標。
olap應用的負載特徵如下:
從資料庫管理員角度看:
– 資料修改量小或無資料修改。
– 資料查詢過程複雜。
– 資料的使用頻率逐漸減小。
– 查詢結果以統計值呈現,方便檢視。
從儲存取樣看:
– 單個i/o資料量大,通常為64kb~1mb。
– 讀取操作通常順序讀取。
– 當進行讀取操作進行時,寫操作的資料存放在臨時表空間內。
也稱為時延或者服務時間,發起i/o請求到i/o處理完成的時間間隔,常以毫秒(ms)為單位。
1. 獲取**
2. ***實踐
從業務系統使用者的角度,響應時間是這三個指標中最重要的指標。因為,如果iops或頻寬達到了儲存的瓶頸,那麼一定會體現在io響應時間上。
其他關注指標
使用者從業務系統經常關注的其他指標有:磁碟繁忙程度、佇列滿等等,這裡簡單介紹一下。
diskbusy體現了磁碟驅動的利用率,即磁碟驅動有百分之多少時間是活動的。
1. 獲取**
nmon diskbusy sheet
命令列iostat -dl:% tm_act
2. 詳細解釋
但這個指標的高低與iops、頻寬並不是線性關係。例如當diskbusy=80%的時候iops=500,當diskbusy=90%的時候iops可能可以達到800。
可以把驅動理解為道路,每個io的資料塊理解為道路上行使的汽車。當道路上沒有車的時候,認為是不活動的;當道路上有車的時候,認為是活動的,但有1輛車也是活動,有10輛車也是活動。因此diskbusy並不能作為磁碟io的重要效能指標。但在日常情況下,可以從這個值的高低對磁碟使用情況有個大概的判斷。
服務佇列每秒變滿(磁碟不再接受服務請求)的次數。
1. 獲取**
命令列iostat -dl:sqfull
2. 詳細解釋
通常情況下這個sqfull的值為0,如果經常不為0,可能是io佇列深度太小或者磁碟/儲存能力不足。
queue_depth 是io佇列深度,即aix 一次可以傳送到磁碟裝置的命令的數量,把命令放在佇列中再傳送給磁碟可以提高 i/o 效能。這個屬性限制了 aix 可以傳送到裝置的***命令的數量。可以通過命令檢視lsattr -el hdisk***|grep queue_depth,queue_depth 預設數值為 4,可以調整。但調整queue_depth這種方法對於提高磁碟io能力來說很有限。
檔案系統和inode的利用率其實已經不在磁碟io的討論範圍,但仍然屬於磁碟的範圍,需要業務系統使用者關注。
1. 獲取**
nmon:jfsfile sheet
命令列df- g
2. ***實踐
當使用率超過80%的時候,系統的效能可能會被拖慢。
同時,統計業務量與檔案系統利用率的增長情況,可以推測該檔案系統可以支撐的***業務量,管理員可以根據日常業務量和檔案系統的空間,設定備份刪除策略。
inode:索引節點,它用來存放檔案及目錄的基本資訊,inode數量即檔案系統的節點的***數量。
inode使用率容易被忽略。對於一些檔案大小很小,檔案數量卻很大的系統,若採用預設引數生成檔案系統,可能導致inode數量不足。當inode使用率達到100%後就不能再建立新的檔案或目錄。
1. 獲取**
nmon:jfsinode sheet
命令列df- g:%iused
磁碟 I O 效能監控指標
磁碟 i o 效能監控指標 在介紹磁碟 i o 監控命令前,我們需要了解磁碟 i o 效能監控的指標,以及每個指標的所揭示的磁碟某方面的效能。磁碟 i o 效能監控的指標主要包括 指標 1 每秒 i o 數 iops 或 tps 對於磁碟來說,一次磁碟的連續讀或者連續寫稱為一次磁碟 i o,磁碟的 ...
磁碟 I O 效能監控的指標
指標 1 每秒 i o 數 iops 或 tps 對於磁碟來說,一次磁碟的連續讀或者連續寫稱為一次磁碟 i o,磁碟的 iops 就是每秒磁碟連續讀次數和連續寫次數之和。當傳輸小塊不連續資料時,該指標有重要參考意義。指標 2 吞吐量 throughput 指硬碟傳輸資料流的速度,傳輸資料為讀出資料和...
磁碟效能指標 IOPS 理論
機械硬碟的連續讀寫性很好,但隨機讀寫效能很差。這是因為磁頭移動至正確的磁軌上需要時間,隨機讀寫時,磁頭不停的移動,時間都花在了磁頭尋道上,所以效能不高。如下圖 在儲存小檔案 oltp資料庫應用時,隨機讀寫效能 iops 是最重要指標。學習它,有助於我們分析儲存系統的效能互瓶頸。下面我們來認識隨機讀寫...