最近、電話インタビューでこんな質問を受けました。私はLinuxでディスクのパフォーマンスを確認するためにiostatコマンドを使用できることを知っています。しかし、この質問にどのように答えるべきかわかりません。これはディスクがいっぱいであることを意味しますか?ありがとうございます。
答え1
%utilにどれだけのI / O負荷があるかを判断できません。これは、単にスケジューラ/ドライバ/ストレージで1つ以上のIOが処理されていないサンプル時間の割合を表します。
したがって、iostat 1(サンプリングレート1秒)の場合、%utilが75%であることは、少なくとも1つのioが未解決で、合計1秒のサンプリング時間のうち750ミリ秒を保存する必要があることを意味します。
実際の負荷に関しては、単一の物理ディスクを扱わない限り、有用な情報は示されません。単一の物理ディスク(たとえば、直接接続されたSATAディスク)の場合、%utilはディスクがioで動作している時間の負荷率を概算します。
単一の物理ディスクと単一の物理ディスクヘッドの場合、iostatが100%に達すると、そのマウントポイントで他のio操作を実行することはできません。
ロードポイントは、IOサイズ、書き込み対読み取り比、ロードのランダム性または順序で構成されます。負荷警告の制限を決定することは、使用しているストレージテクノロジとアプリケーションによって大きく異なります。
いつかストレージ製品のパフォーマンスをテストした経験があります。私はLinuxシステム側でfioツールを使用しています。
使用率が100%に達しても、ディスクにワークロードを追加できます。
fio --name=fiotest --filename=/xxx/fiotest --size=16Gb --rw=write --bs=1M --direct=1 --numjobs=8 --ioengine=libaio --iodepth=8 --group_reporting --runtime=60
Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
sdf 0.00 **2269.67** 0.00 **774805.33** 0.00 **9833.67** 0.00 **81.25** 0.00 **27.00 61.28** 0.00 **341.37 0.44 99.97**
sdd 0.00 **2267.33** 0.00 **774144.00** 0.00 **9835.33** 0.00 **81.27** 0.00 **25.49 57.78** 0.00 **341.43 0.44 99.97**
sde 0.00 **2270.67** 0.00 **775061.33** 0.00 **9833.33** 0.00 **81.24** 0.00 **26.11 59.30** 0.00 **341.34 0.44 99.97**
avg-cpu: %user %nice %system %iowait %steal %idle
Starting 8 processes
Jobs: 8 (f=0): [f(8)][100.0%][w=519MiB/s][w=518 IOPS][eta 00m:00s]
fiotest: (groupid=0, jobs=8): err= 0: pid=10248: Thu Oct 20 03:26:28 2022
write: IOPS=2002, BW=2003MiB/s (2100MB/s)(117GiB/60040msec); 0 zone resets
fio --name=fiotest --filename=/xxx/fiotest --size=16Gb --rw=read --bs=1M --direct=1 --numjobs=8 --ioengine=libaio --iodepth=8 --group_reporting --runtime=60
Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
sdf **2271.33** 0.00 **775146.67** 0.00 **9842.00** 0.00 **81.25** 0.00 **25.91** 0.00 **58.85 341.27** 0.00 **0.44 99.63**
sdd **2264.67** 0.00 **774464.00** 0.00 **9846.67** 0.00 **81.30** 0.00 **25.02** 0.00 **56.67 341.98** 0.00 **0.44 99.43**
sde **2272.33** 0.00 **775061.33** 0.00 **9841.00** 0.00 **81.24** 0.00 **25.36** 0.00 **57.62 341.09** 0.00 **0.44 99.77**
dm-7 **36341.33** 0.00 **2325845.33** 0.00 0.00 0.00 0.00 0.00 **25.42** 0.00 **923.68 64.00** 0.00 **0.03 100.07**