製品コラム
セイテクエンジニアのブログ 製品コラム ディスクとネットワークのパフォーマンス監視がしたい-BOM for Windows活用例
2026年02月18日配信
執筆者:セイ・テクノロジーズ エバンジェリスト
「BOM for Windows Ver.8.0」(以下、BOM)の「パフォーマンスカウンター監視」を使用すると、特定のパフォーマンスカウンターを簡単にしきい値監視できます。カウンター値に何かしらの計算加工を行って監視することもできます。それには「カスタム監視」を利用できます。
以下のコラムでは、Windows Serverのプロセッサとメモリ監視について取り上げました。そして、メモリリークやハンドルリークの疑いを監視するために、PowerShellスクリプトを使用してカウンター値の前回からの増分を計算し、BOMの「カスタム監視」でしきい値監視する方法を紹介しました。今回は、ディスクとネットワークのパフォーマンスを対象に、計算に基づいた「カスタム監視」に利用できるPowerShellスクリプトとしきい値の目安(参考値)を紹介します(画面1)。
メモリ/ハンドルリークを監視したい-BOM for Windows活用例
画面1 PowerShellスクリプトを使用してパフォーマンスデータを取得して計算し、その結果をしきい値監視する例
|
パフォーマンスカウンター: |
|
LogicalDisk(_Total)\Avg. Disk sec/Transfer |
| PowerShellスクリプトのコード: |
| $ret = ((Get-Counter "\LogicalDisk(_Total)\Avg. Disk sec/Transfer").CounterSamples).CookedValue [Math]::Round( $ret * 1000 ) #millisecond |
| しきい値の目安: |
| 20ms以上: 注意 30ms以上: 危険 |
ディスクのレイテンシ(Latency)は、I/O要求を出してからI/Oが完了するまでの待ち時間を示し、ms(ミリ秒)の単位が用いられます。レイテンシは小さいほどディスク性能が良く、ディスクのI/O負荷が高まるとレイテンシは増加します。
| ※ディスクのパフォーマンスのためには、パフォーマンスカウンター「LogicalDisk(_Total)\Current Disk Queue Length」がディスクのスピンドル数×2以下であると良いとされています。しかしその考えは、物理サーバーのディスクがすべてハードディスクドライブ(HDD)であることを前提としたものです。RAID構成やSAN記憶域、SSD、NVMe、仮想環境(Hyper-V VMやAzure VM)には適用できないことに注意してください。SSD、NVMeでは並列処理が可能なのでCurrent Disk Queue Lengthが大きくてもパフォーマンスに影響しない場合がほとんどです。また、仮想環境では多層ストレージ上に配置されているうえ、ホスト側の影響(別のVM、別のテナント)も含むため単純に比較できません。代わりに、上記のレイテンシを監視するべきです。 |
|
パフォーマンスカウンター: |
|
LogicalDisk(_Total)\Disk Read Bytes/sec |
| PowerShellスクリプトのコード: |
| $ret = (Get-Counter "\LogicalDisk(_Total)\Disk Read Bytes/sec").CounterSamples.CookedValue + (Get-Counter "\LogicalDisk(_Total)\Disk Write Bytes/sec").CounterSamples.CookedValue #[Math]::Round( $ret * 8 / 1024 /1024 ) # Mbits per second [Math]::Round( $ret / 1024 /1024 ) # Mbytes per second |
| しきい値の目安: |
| 仕様上限の80%以上: 注意 仕様上限の90%以上: 注意 |
ディスクのスループットとは、単位時間あたりに転送できるデータ量を示し、MB/s(メガバイト/秒)、Mbps(メガビット/秒)、Gbps(ギガビット/秒)などの単位が使用されます。値が大きいほど大量のデータ転送に強いと言えますが、AzureやAWSなどクラウド上のVMの場合、ディスクの種類やサイズ、VMのサイズによってスループットの上限(100MB/sなど)が設けられています。オンプレミスの環境の場合は、ディスクの負荷テストを実施して、最大のスループットを計測を計測し、しきい値を導き出すとよいでしょう。
|
パフォーマンスカウンター: |
|
LogicalDisk(_Total)\Disk Reads/sec |
| PowerShellスクリプトのコード: |
| $ret= (Get-Counter "\LogicalDisk(_Total)\Disk Reads/sec").CounterSamples.CookedValue + (Get-Counter "\LogicalDisk(_Total)\Disk Writes/sec").CounterSamples.CookedValue [Math]::Round( $ret ) |
| しきい値の目安: |
| 仕様上限の80%以上: 注意 仕様上限の90%以上: 危険 |
IOPS(Input/Output Operations Per Second)は、1秒間に処理できるI/O回数を表し、IOPS(回/秒)の単位が用いられます。主に小さなランダムアクセス性能を示す指標であり、小さいブロックサイズほどIOPSが重要になります。AzureやAWSなどクラウド上のVMの場合、ディスクの種類やサイズ、VMのサイズによってスループットの上限(500《ブースト600》など)が設けられています。オンプレミスの環境の場合は、ディスクの負荷テストを実施して、最大のIOPSを計測し、しきい値を導き出すとよいでしょう。
|
パフォーマンスカウンター: |
|
Network Interface(*)\Bytes Total/sec |
| PowerShellスクリプトのコード: |
| $ret = ((Get-Counter "\Network Interface(*)\Bytes Total/sec").CounterSamples | Measure-Object -Property CookedValue -Sum).Sum [Math]::Round( $ret * 8 / 1024 /1024 ) # Mbits per second #[Math]::Round( $ret * 8 / 1024 /1024 ) # Kbits per second #[Math]::Round( $ret / 1024 /1024 ) # Mbytes per second |
| しきい値の目安: |
| 仕様上限の80%以上: 注意 仕様上限の90%以上: 危険 |
ネットワークのスループット、使用帯域とは、単位時間あたりに送受信されたデータ量を示し、Mbps、Gbpsなどの単位が用いられます。物理サーバーの場合、ディスクとは異なり上限が明確です。Gbps、10Gbps(10GbE)など、ネットワークインターフェイスカードの最大速度が上限になります。AzureやAWSのVMの場合、VMに認識されたNICデバイスの仕様が上限ではないことに注意してください。VMのサイズによってNICの数やスループットの上限が設けられています。VMのサイズ次第では30Gbpsを超えることも可能です。
上記のPowerShellスクリプトは、クラウド上のVMを念頭に、すべてのNICで送受信されたデータ量を対象にスループットを計測します。 NIC単位のスループットの監視については、BOMが標準で備える「ネットワークインターフェイス監視」を利用するのが簡単です(画面2)。

画面2 NICごとのネットワークスループットの監視には、BOM標準の「ネットワークインターフェイス監視」が便利
前述したように、AzureやAWSなどクラウド上のVMは、ディスクのスループットやIOPSに仕様上の上限が設けられているため、その仕様に基づいてしきい値を設定できます。一方、オンプレミスの物理サーバーやVMの場合は仕様上の上限がありません。そのため、ディスクに高いI/O負荷を与えて性能を実測し、システムの上限を把握することが重要です。
それには、MicrosoftのWindows、Windows Server、およびクラウドサーバーインフラストラクチャエンジニアリングチームが開発、提供するストレージ性能測定ツール「DiskSpd」が便利です。
microsoft/diskspd|GitHub
次のコマンドラインを実行すると、カレントディレクトリのあるディスクに対して30秒間高い負荷テストを実施することができます(画面3)。
| diskspd -c5G -d30 -r -w100 -t4 -o32 testfile.dat |

画面3 上はオンプレミスのHyper-V VMの結果、下はAzureVM(最大600IOPS、100MB/sが上限)の結果。この結果から、クラウドは上限値に基づいてしきい値を設定すればよいことがわかる
参考情報:
'D' ファミリ汎用 VM サイズ シリーズ|Azure(Microsoft Learn)
| 2026年02月18日 | ディスクとネットワークのパフォーマンス監視がしたい-BOM for Windows活用例 |
|---|---|
| 2026年02月13日 | メモリ/ハンドルリークを監視したい-BOM for Windows活用例 |
| 2026年01月30日 | What's New in SSD-assistance: #3 Cisco Catalystシリーズ対応 |
| 2025年12月24日 | ネットワークポートの枯渇を監視したい-BOM for Windows活用例 |
| 2025年12月17日 | What’s new in Job Director R17: Microsoft 365に対応したメール送信部品、設定方法解説 |
| 2025年12月12日 | 任意の設定仕様書の差分比較がしたい ─ SSD-assistance活用例 |
| 2025年11月27日 | 必要な分だけ購入する「インシデントサポート」とは?年間保守契約との違いとコストメリットを解説 |
| 2025年11月12日 | システム時刻の大きなズレを監視したい-BOM for Windows活用例 |
| 2025年07月30日 | Windows Server 2025 Active Directory環境におけるLDAPサーバー連携の既知の問題-Job Director FAQ(仮) |
| 2025年07月02日 | Windows Updateの更新を全自動化、アクセス違反エラーの回避-Job Director R16活用例 |