0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux磁盤I/O的性能指標和查看性能工具

馬哥Linux運維 ? 來源:CSDN技術(shù)社區(qū) ? 作者:CSDN技術(shù)社區(qū) ? 2022-05-14 15:21 ? 次閱讀

在我之前的文章:《探討 Linux 的磁盤 I/O》中,我談到了 Linux 磁盤 I/O 的工作原理,我們了解到 Linux 存儲系統(tǒng) I/O 棧由文件系統(tǒng)層(file system layer)、通用塊層( general block layer)設(shè)備層(device layer)構(gòu)成。

其中,通用塊層是 Linux 磁盤 I/O 的核心。向上,它為訪問文件系統(tǒng)和應(yīng)用程序的塊設(shè)備提供了標準接口;向下,它將各種異構(gòu)磁盤設(shè)備抽象為一個統(tǒng)一的塊設(shè)備,并響應(yīng)文件系統(tǒng)和應(yīng)用程序發(fā)送的 I/O。

在本文中,我們來看看磁盤的性能指標以及如何查看這些指標。

Linux 磁盤性能指標

在衡量磁盤性能時,我們經(jīng)常提到五個常見指標:利用率、飽和度、IOPS、吞吐量和響應(yīng)時間。這五個指標是衡量磁盤性能的基本指標。

  1. 利用率(Utilization):磁盤處理 I/O 的時間百分比。過度使用(如超過 80%)通常意味著磁盤 I/O 存在性能瓶頸。

  2. 飽和度(Saturation):指磁盤處理 I/O 的繁忙程度。過度飽和意味著磁盤存在嚴重的性能瓶頸。當飽和度為 100% 時,磁盤無法接受新的 I/O 請求。

  3. IOPS(Input/Output Per Second):指每秒 I/O 請求的數(shù)量。

  4. 吞吐量(Throughput):每秒 I/O 請求的大小。

  5. 響應(yīng)時間(Response time):指發(fā)送 I/O 請求和接收響應(yīng)之間的間隔時間。

這里需要注意的是,關(guān)于利用率,我們只考慮有無 I/O,而不考慮 I/O 的大小。也就是說,當利用率為 100% 時,磁盤仍有可能接受新的 I/O 請求。

一般來說,在為應(yīng)用選擇服務(wù)器時,首先要對磁盤的 I/O 性能進行基準測試,這樣才能準確評估磁盤性能,以判斷是否能夠滿足應(yīng)用的需求。

當然,這需要你在隨機讀順序讀、隨機寫、順序?qū)?/strong>等各種應(yīng)用場景下測試不同 I/O 大?。ㄍǔJ?512B ~ 1MB 之間)的性能。

磁盤 I/O 觀察

首先要觀察的是每個磁盤的使用情況。iostat 是最常用的磁盤 I/O 性能觀察工具。它提供了各種常用性能指標,例如每個磁盤的利用率、IOPS吞吐量。當然,這些指標實際上來自 /proc/diskstats。

以下是 iostat 的輸出示例:

#-d-xmeansdisplayalldiskI/Operformance
$iostat-d-x1
Devicer/sw/srkB/swkB/srrqm/swrqm/s%rrqm%wrqmr_awaitw_awaitaqu-szrareq-szwareq-szsvctm%util
loop00.000.000.000.000.000.000.000.000.000.000.000.000.000.000.00
loop10.000.000.000.000.000.000.000.000.000.000.000.000.000.000.00
sda0.000.000.000.000.000.000.000.000.000.000.000.000.000.000.00
sdb0.000.000.000.000.000.000.000.000.000.000.000.000.000.000.00

在上述指標中,您需要注意的是:

  • %util 是我們前面提到的磁盤 I/O 使用情況

  • r/sw/s 是 IOPS

  • rkB/swkB/s 是吞吐量

  • r_awaitw_await 是響應(yīng)時間

您可能已經(jīng)注意到 iostat 不能直接獲取磁盤的飽和度。事實上,通常沒有什么簡單的方法可以測量飽和度。但是,您可以將觀察到的平均請求隊列長度完成讀寫請求的等待時間基準測試(例如通過 fio)的結(jié)果進行比較,以綜合評估磁盤飽和度。

進程 I/O 觀察

除了每個磁盤的 I/O 情況,每個進程的 I/O 情況也是大家關(guān)注的重點。

上面提到的 iostat 只提供了觀察磁盤的整體 I/O 性能數(shù)據(jù)。缺點是無法知道哪些進程正在讀寫磁盤。要觀察進程的 I/O,還可以使用 pidstatiotop 工具。

例如,要使用 pidstat

$pidstat-d1
1351UIDPIDkB_rd/skB_wr/skB_ccwr/siodelayCommand
13521029160.004.000.000rsyslogd

pidstat 的輸出可以看出,它可以實時查看每個進程的 I/O 情況,這包括以下內(nèi)容:

  • 用戶 ID (UID) 和進程 ID (PID)。

  • 每秒讀取的數(shù)據(jù)大小 (kB_rd/s),以 KB 為單位。

  • 每秒發(fā)出的寫請求數(shù)據(jù)的大?。?code style="font-size:14px;padding:2px 4px;margin-right:2px;margin-left:2px;color:rgb(30,107,184);background-color:rgba(27,31,35,.05);font-family:'Operator Mono', Consolas, Monaco, Menlo, monospace;">kB_wr/s),單位為KB。

  • 每秒取消寫入請求的數(shù)據(jù)大小 (kB_ccwr/s),以 KB 為單位。

  • 塊 I/O 延遲 (iodelay),包括等待同步塊(synchronized block)I/O 和換入塊(swap-in block)I/O 完成的時間,以時鐘周期為單位。

除了使用 pidstat 實時查看進程磁盤 I/O 外,還有一個磁盤性能分析的常用方法是根據(jù) I/O 大小對進程進行排序。為此,我推薦 iotop 工具。它是一個類似于 top 的工具,您可以按 I/O 大小對進程進行排序,并找到具有更大 I/O 的進程。

$iotop
TotalDISKREAD:0.00B/s|TotalDISKWRITE:7.85K/s
ActualDISKREAD:0.00B/s|ActualDISKWRITE:0.00B/s
TIDPRIOUSERDISKREADDISKWRITESWAPINIO>COMMAND
15055be/3root0.00B/s7.85K/s0.00%0.00%systemd-journald

從該輸出可以看到,前兩行分別代表進程的磁盤讀寫總大小磁盤的實際讀寫總大小。由于緩存、緩沖區(qū)、I/O 合并等因素,它們可能不相等。

剩下的部分從各個角度代表了進程的 I/O 情況,包括 線程 ID、I/O 優(yōu)先級每秒磁盤讀取大小、每秒磁盤寫入大小、換入百分比等待 I/O 時鐘百分比。

結(jié)論

在本文中,我介紹了 Linux 磁盤 I/O 的性能指標和查看性能工具。我們通常使用 IOPS、吞吐量、利用率、飽和度響應(yīng)時間等幾個指標來評估磁盤的 I/O 性能。

可以使用 iostat 獲取磁盤的 I/O 情況,也可以使用 pidstat、iotop 等觀察進程的 I/O 情況。但在分析這些性能指標時,要注意結(jié)合讀寫比率、I/O 類型、I/O 大小等綜合分析。

原文標題:如何監(jiān)測 Linux 的磁盤 I/O 性能

文章出處:【微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11161

    瀏覽量

    208468
  • 磁盤
    +關(guān)注

    關(guān)注

    1

    文章

    355

    瀏覽量

    25138
  • 性能指標
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    7883

原文標題:如何監(jiān)測 Linux 的磁盤 I/O 性能

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    性能指標測試

    性能指標測試
    發(fā)表于 08-17 14:51

    系統(tǒng)時間響應(yīng)的性能指標

    控制系統(tǒng)性能的評價分為動態(tài)性能指標和穩(wěn)態(tài)性能指標兩類.為了求解系統(tǒng)時間響應(yīng),必須了解輸入信號(即外作用)的解析表達式。然而,在一般情況下,控制系統(tǒng)的外加輸入信號具有隨機性而無法預(yù)先確定,因此需要選擇
    發(fā)表于 10-12 09:49

    ML無線音響性能指標

    ML無線音響性能指標 Model NO.  MLT/R Audio Technique  4:1 compression Audio Input  USB,I
    發(fā)表于 04-11 10:30 ?1429次閱讀

    頻率響應(yīng)法-- 頻域性能指標和時域性能指標的關(guān)系

    頻率響應(yīng)法-- 頻域性能指標和時域性能指標的關(guān)系  頻域性能指標和時域性能指標的關(guān)系
    發(fā)表于 07-27 14:28 ?1.2w次閱讀
    頻率響應(yīng)法-- 頻域<b class='flag-5'>性能指標</b>和時域<b class='flag-5'>性能指標</b>的關(guān)系

    傳感器性能指標

    傳感器-性能指標        
    發(fā)表于 11-07 09:31 ?2922次閱讀

    放大電路的性能指標

    放大電路的性能指標 性能指標可以分為三種類型: 第一種是對應(yīng)于一個賦值已定,頻率已定的信號輸入時的性能,這是放大電路的基
    發(fā)表于 12-14 10:58 ?1.4w次閱讀

    比較器的性能指標/分類/應(yīng)用

    比較器的性能指標/分類/應(yīng)用 比較器 - 性能指標  滯回電壓:比較器兩個輸入端之間的電壓在過零時輸出狀態(tài)將發(fā)生改變,由于
    發(fā)表于 03-22 13:53 ?1819次閱讀

    檢測系統(tǒng)的性能指標

    2.1 靜態(tài)特性及性能指標 2.1.1 靜態(tài)特性 2.1.2 靜態(tài)性能指標 2.2 動態(tài)特性及性能指標 2.2.1 傳遞函數(shù) 2.2.2 階躍響應(yīng)和時域動態(tài)性能指標 2.2.3 正弦響
    發(fā)表于 03-13 20:15 ?0次下載

    硬盤性能指標概述

    硬盤性能指標概述,硬盤的主要性能指標包括主軸轉(zhuǎn)速,外部數(shù)據(jù)傳輸率,最大內(nèi)部數(shù)據(jù)傳輸率,高速緩存等性能指標
    發(fā)表于 05-03 17:59 ?5091次閱讀

    動態(tài)性能指標定義

    動態(tài)性能指標定義
    發(fā)表于 12-30 15:04 ?0次下載

    計算機的主要性能指標

    本視頻主要詳細介紹了計算機的主要性能指標,分別是運算速度、字長、內(nèi)存儲器的容量、外存儲器的容量、I/O的速度、顯存、硬盤轉(zhuǎn)速以及主頻。
    的頭像 發(fā)表于 12-25 16:05 ?18.1w次閱讀

    電氣性能指標的具體分析

    1.2電氣性能指標
    的頭像 發(fā)表于 04-22 06:37 ?6606次閱讀
    電氣<b class='flag-5'>性能指標</b>的具體分析

    數(shù)控機床的規(guī)格和性能指標

    數(shù)控機床主要性能指標包括:定位精度、移動精度、主軸控制、運動性能四項性能指標。
    發(fā)表于 05-30 14:52 ?1.1w次閱讀

    電纜性能指標測試方法

    熟悉電纜電性能指標種類及定義; 掌握電纜電性能指標的測試方法; 建立電纜重要性能指標的檢驗常態(tài)化機制。

    瞬態(tài)響應(yīng)的性能指標包括哪些

    瞬態(tài)響應(yīng)性能指標是衡量電子系統(tǒng)、電路或信號處理系統(tǒng)在響應(yīng)瞬態(tài)輸入信號時的性能指標。這些指標對于確保系統(tǒng)在實際應(yīng)用中的穩(wěn)定性、可靠性和性能至關(guān)重要。 瞬態(tài)響應(yīng)的定義 瞬態(tài)響應(yīng)是指系統(tǒng)在受
    的頭像 發(fā)表于 07-29 11:11 ?582次閱讀