Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

6.2. 分析

欲成功微調儲存堆疊效能,您必須理解資料如何通過系統,並且熟悉儲存結構的基礎,以及它在各種工作環境下的效能如何。同時您亦必須對於欲微調的項目擁有詳細的理解。
每當您建置新的系統時,建議您由下而上分析儲存裝置。請從原生的 LUN 或磁碟開始,並使用直接 I/O(跳過 kernel 分頁快取的 I/O)來評估其效能。這是您所能進行的最基本測試,並且也會是您用來測量堆疊中的 I/O 效能的一項標準。請由基本的工作量產生程式開始(例如 aio-stress),它會產生循序且隨機的讀取和寫入,並利用各種 I/O 大小和佇列深度。
以下是源自於一系列 aio-stress 的圖表,每個項目皆會進行四個步驟:循序寫入、循序讀取、隨機寫入和隨機讀取。在此範例中,該工具已配置好以各種記錄大小(x 軸)和佇列深度(一個圖表一個)執行。佇列深度代表一段特定時間內,正在進行的 I/O 作業的總數量。
aio-stress 對於 1 個執行續和 1 個檔案的輸出
Y 軸顯示了頻寬/秒,單位為 MB。X 軸則顯示了 I/O 大小,單位為 KB。

圖形 6.1. aio-stress 對於 1 個執行續和 1 個檔案的輸出

請注意傳輸量的線由左下方角落升至右上方。也請注意無論記錄大小為何,您可藉由增加進行中的 I/O 之數量,以從儲存裝置取得更多傳輸量。
透過對存裝置執行這些基本工作,您將能大致得知儲存裝置在有工作負載時的效能如何。請保留這些測試所產生的資料,以便在進行更加複雜的工作量時,拿來進行比較。
若您會使用裝置對應程式或是 md,請新增此階層並重複您的測試。若效能明顯降低,請確認這是否屬於預期的情況,以及是否有方法能夠解釋此情況。比方說,若將 checksum raid 階層加入堆疊中,效能降低是可預期的。非預期的效能驟減可能是配置不當的 I/O 作業所造成的。就預設值,RHEL 會以優化的方式配置分割區和裝置對應程式的 metadata。然而,並非所有類型的儲存裝置皆會回報其最佳配置,因此可能需要進行手動微調。
增加了裝置對應程式或 md 層之後,請在區塊裝置上新增一個檔案系統,並針對這檔案系統(依然使用直接 I/O)進行測試。請再次拿測試結果與先前的測試進行比較,並確認您了解這之間的不同代表什麼。一般來說,直接的寫入 I/O 在預先分配的檔案上效能較佳,因此請確認您在測試效能之前,預先分配檔案。
有用的綜合工作量產生程式包含了:
  • aio-stress
  • iozone
  • fio