Linuxでディスクパフォーマンス(IOPSとレイテンシー)を確認する方法は?
この記事では、Linuxでディスクまたはストレージアレイのパフォーマンスを確認する方法について説明します。 IOPS (1秒あたりの入出力操作)は、データストレージシステムが1秒あたりに実行する入出力操作の数です(単一のディスク、RAIDアレイ、または外部ストレージデバイスのLUNの場合があります)。一般に、IOPSは、メディアからの読み取りまたはメディアへの書き込みが可能なブロックの数を指します。
ほとんどのディスクメーカーは公称IOPS値を指定していますが、実際にはこれらは保証されていません。プロジェクトを開始する前にストレージサブシステムのパフォーマンスを理解するには、ストレージが処理できる最大IOPS値を取得する価値があります。
ストレージベンチマークにFIO(Flexible I / O)ツールを使用する
LinuxでディスクIOPSパフォーマンスを測定するには、 fioを使用できます。 (このツールは、EPELリポジトリのCentOS / RHELで利用できます)。したがって、fioをRHELまたはCentOSにインストールするには、yum(dnf)パッケージマネージャーを使用します。
# yum install epel-release -y
# yum install fio -y
または、DebianまたはUbuntuでapt-get:
# apt-get install fio
次に、テストするディスクを特定します。テストは、ディスクまたはLUNがマウントされているディレクトリで読み取り/書き込み操作を実行することによって実行されます。
さまざまなディスク負荷シナリオで、いくつかのタイプのディスクIOPSパフォーマンステストを実行してみましょう(ホストされているアプリのロジックとプロジェクトの一般的なインフラストラクチャに応じて選択するテストモード)。
ランダム読み取り/書き込み操作テスト
テストを実行すると、8GBのファイルが作成されます。次に、fioは 4KBの読み取り/書き込みを行います 75/25%のブロック(標準のブロックサイズ) 読み取りおよび書き込み操作の数によって、パフォーマンスを測定します。コマンドは次のとおりです。
# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=fiotest --filename=testfio --bs=4k --iodepth=64 --size=8G --readwrite=randrw --rwmixread=75
2つのSSDで構成されるアレイで最初のテストを実行しました sそして良い結果を得ました:
- 読む: 3280MiB / s、IOPS平均83000
- 書き込み: 110MiB / s、IOPS平均28000
読み取り/書き込みを組み合わせたテストを実行したため、個別のテストの値は高くなります。
比較すると、 SATAでパフォーマンスを測定しました ドライブ:
- 読む: IOPS =430、BW =1.7 MiB / s
- 書き込み: IOPS =143、BW =0.6 MiB / s
もちろん、HDDの結果はSSDの結果よりも悪いです。
ランダム読み取り操作テスト
ランダム読み取り操作のみのディスクパフォーマンスを測定するには、次のコマンドを実行します。
# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=fiotest --filename=testfio --bs=4k --iodepth=64 --size=8G --readwrite=randread
コマンドの最後の部分が—readwrite=randread
に変更されました 。
前に述べたように、個別に測定すると、読み取り/書き込みのパフォーマンスが高くなります。
読み取り:IOPS =150k、BW =584MiB / s(612MB / s)
ランダム書き込み操作テスト
ランダム書き込み操作のディスクパフォーマンスを測定するには、次のコマンドを実行します。
# fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=fiotest --filename=fiotest --bs=4k --iodepth=64 --size=8G --readwrite=randwrite
書き込み:IOPS =84.7k、BW =331MiB / s(347MB / s)
優れたSSDでの書き込み操作のパフォーマンスも非常に高くなっています。読み取り操作テストと同様に、混合テストと比較した場合の差は、200〜250 MiB/sおよび50000IOPSに達します。
公式の製造元のドキュメント(これらはIntel SSDです)を参照すると、値が正しいと言っても過言ではありません。
Fio構成ファイルの例
Fioでは、インタラクティブコマンドを使用し、テスト用に事前に準備された構成ファイルを使用して、ディスクのパフォーマンスを確認できます。このオプションを使用するには、ファイルを作成します:
# nano read.fio
そして、それに次の内容を追加します:
[global] rw =randreadsize =8Gfilename =/ tmp / testfioioengine =libaioiodepth =4invalidate =1direct =1 [bgread] rw =randreadiodepth =64
次に、テストを開始します:
# fio read.fio
このテストでは、ディスクの読み取りパフォーマンスを測定します。書き込みパフォーマンスをテストするには、次の構成ファイルを使用します。
[global] rw =randwritesize =8Gfilename =/ tmp / testfioioengine =libaioiodepth =4invalidate =1direct =1 [bgwrite] rw =randwriteiodepth =64
Iopingを使用したディスクレイテンシの測定
IOPSの他に、ストレージの品質を特徴付けるもう1つの重要なパラメーターがあります。それはレイテンシーです。 レイテンシ ストレージへのアクセス時間を決定する入出力要求遅延です(ミリ秒単位で測定)。レイテンシーが高いほど、アプリはディスクからデータを取得するまで待機する必要があります。レイテンシ値は20ミリ秒以上 一般的なデータストレージシステムの場合、貧弱と見なされます。
Linuxでディスクの待ち時間を確認するには、 ioping 使用するツール:
# yum install ioping -y
# apt-get install ioping
ディスクのレイテンシテストを実行します(20のリクエストが実行されます):
# ioping -c 20 /tmp/
4 KiB <<平均値は298.7us (マイクロ秒)なので、この場合の平均遅延は0.3ミリ秒です。 、それは素晴らしいです。
レイテンシーの値はusで指定できます (マイクロ秒)または ms (ミリ秒)。 us値からms値を取得するには、1,000で除算します。そのため、プロジェクトを起動する前にサーバーでストレージ負荷テストを実行し、最高のパフォーマンス値を確認できます。ただし、このテストは、ディスクアレイまたはディスクが常に同じパフォーマンスを示すことを保証するものではありませんが、プロジェクトの初期段階でテストを行う価値があります。この記事では、WindowsでIOPSをテストする方法を学びます。
-
Linuxでディスク容量を確認および管理する方法
システム管理者が必要とする重要なスキルの1つは、オンラインシステムとオフラインシステムの両方の状態を維持することです。これは、ダウンタイムや問題によってデータが失われる可能性がある本番サーバーでは特に重要です。一般的な問題は、ディスク容量が不足しているために更新が失敗することですが、重要なシステムをスムーズに実行し続けるために、エラーメッセージが表示されたときに実行できる簡単なチェックがいくつかあります。 使用できるコマンドは主に2つあります。 df –これはシステムのディスク容量を報告します du –これは特定のファイルによって使用されるスペースの量を示します 上記のそれぞれは異
-
Linux でディスク容量をチェックして管理する方法
ディスク容量の管理は、使用するプラットフォームに関係なく、コンピューター ユーザーにとって大きな懸念事項の 1 つです。特にシステム管理者の場合、オフライン システムとオンライン システムの状態を監視することが仕事です。ディスク容量が少ないと、Linux での更新が妨げられ、他の重大なエラーが発生する可能性があります。 したがって、特定のファイルが使用するディスク容量と容量を知るには、df および du コマンドに精通している必要があります。 この投稿では、df および du コマンドを使用して Linux のディスク容量を確認および管理する方法について説明します。 DF (ディスク ファ