11

ストレージ IOPS 容量がいつボトルネックになるかを判断したいシミュレーション モデルに取り組んでいます (たとえば、HDD の IOPS は ~150 ですが、SSD の IOPS は 150,000 です)。そこで、いくつかの異なる操作 (プッシュ、プル、マージ、クローン) について、コマンド (git) で IOPS をベンチマークする方法を考え出そうとしています。

これまでのところ、iostat のようなツールを見つけましたが、レポートを 1 つのコマンドだけに制限する方法がわかりません。

私が思いつく最良のアイデアは、HDD IOPS 容量を決定し、実際のコマンドで時間を使用し、それがどれくらい続くかを確認し、それに IOPS を掛けると、それが私の IOPS になります。

HDD ->150 IOPS
time df -h

real    0m0.032s

150 * .032 = 4.8 IOPS

しかし、これはもちろん非常にばかげています。実行時間は HDD の使用率ではなく CPU の使用率に関連している可能性があるため、その時間の HDD の使用率が 100% でな​​い限り、そのようなことを測定しても意味がありません。

では、コマンドの IOPS を測定するにはどうすればよいでしょうか?

4

3 に答える 3

8

このiotopコマンドは、Linux 上のプロセスに関する I/O 使用情報を収集します。デフォルトでは、これは対話型コマンドですが、-b/を使用してバッチ モードで実行できます--batch-pまた、 /を使用してプロセスのリストを表示することもできます--pidgitしたがって、次の方法でコマンドのアクティビティを監視できます。

$ sudo iotop -p $(pidof git) -b

-d/で遅延を変更できます--delay

于 2014-07-01T20:55:47.680 に答える
6

pidstat を使用できます。
pidstat -d 2
より具体的にはpidstat -d 2 | grep COMMAND、またはpidstat -C COMMANDNAME -d 2

このpidstatコマンドは、Linux カーネルによって現在管理されている個々のタスクを監視するために使用されます。オプション -p で選択されたすべてのタスク、またはオプション -p ALL が使用されている場合は Linux カーネルによって管理されるすべてのタスクの標準出力アクティビティに書き込みます。タスクを選択しないことは、-p ALL を指定することと同じですが、アクティブなタスク (ゼロ以外の統計値を持つタスク) のみがレポートに表示されます。pidstat コマンドを使用して、選択したタスクの子プロセスを監視することもできます。

-C commコマンド名に文字列comが含まれるタスクのみを表示します。この文字列は正規表現にすることができます。

于 2014-07-01T18:27:36.237 に答える