RAIDファームウェアのアップグレードを行い、レイテンシが増加したようです。
ディスクの読み取りと書き込みの待ち時間を調べる最も正確な方法についてアドバイスをいただけますか?
IOzone 優れたベンチマーク。
ランダム読み取り、ランダム書き込み、ランダム混合テストを実行して、待ち時間を確認します。
Linuxのハードディスクのチューニングと基本的なパフォーマンスの監視に共通するツールは hdparm
です。
dd
を使用して、ディスクのレイテンシを測定できます
卵。
dd if=/dev/zero of=/root/testfile bs=512 count=1000 oflag=dsync
回答で説明したように、fio
を使用することをお勧めします https://askubuntu.com/a/991311/50254
fio
を使用すると、さまざまな作業負荷(シングルスレッドの巨大なシーケンシャル書き込みQD32と複数のスレッドでのランダムな読み取りと書き込みの混合4k QD1の間のすべて)のレイテンシーの分布に関する詳細情報を取得できます。
ハードウェアのレイテンシが以前よりも高いと想定する場合は、シングルスレッドのランダム4k読み取りQD1をテストする必要があると思います(これは、私が考えることができる最もレイテンシの影響を受けやすい操作です)。
fio --name TEST --eta-newline=5s --filename=fio-tempfile.dat --rw=randread --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --fsync=1 --iodepth=1 --direct=1 --numjobs=1 --runtime=60 --group_reporting
テストファイルが作成されますfio-tempfile.dat
現在の作業ディレクトリにあるため、最初にテストするデバイスに変更してください。 (ファイルシステムでのパフォーマンスではなく、rawデバイスのパフォーマンスをテストする場合は、rawデバイスをfilename
として使用できます。ただし、そのデバイスの現在のコンテンツは失われます。)
データを読み取る代わりに書き込むことで同じことをテストすることもできます:
fio --name TEST --eta-newline=5s --filename=fio-tempfile.dat --rw=randwrite --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --fsync=1 --iodepth=1 --direct=1 --numjobs=1 --runtime=60 --group_reporting
書き込みによるレイテンシーの大幅な増加が見られる場合は、古いファームウェアではライトバックキャッシュが許可されており、新しいファームウェアでは許可されていないことを確信できます。バッテリーでバックアップされたRAIDコントローラーまたは正しく構成されたUPSを除いて、データを重要と考える場合は、ライトバックキャッシュは必要ありません。