WindowsパフォーマンスモニターでNW負荷を1秒おきに取得


コンピュータの管理 > パフォーマンス > データコレクターセット
から作成
項目は以下 (作成後xmlで出力し、カウンター行だけ抜粋したもの)

\Network Adapter(NIC_PRODUCT_NAME)\Bytes Received/sec</Counter>
\Network Adapter(NIC_PRODUCT_NAME)\Bytes Sent/sec</Counter>
\Network Adapter(NIC_PRODUCT_NAME)\Output Queue Length</Counter>
\Network Adapter(NIC_PRODUCT_NAME)\Packets Outbound Discarded</Counter>
\Network Adapter(NIC_PRODUCT_NAME)\Packets Outbound Errors</Counter>
\Network Adapter(NIC_PRODUCT_NAME)\Packets Received Discarded</Counter>
\Network Adapter(NIC_PRODUCT_NAME)\Packets Received Errors</Counter>
\Network Adapter(NIC_PRODUCT_NAME)\Packets Received/sec</Counter>
\Network Adapter(NIC_PRODUCT_NAME)\Packets Sent/sec</Counter>
\Network Interface(NIC_PRODUCT_NAME)\Bytes Received/sec</Counter>
\Network Interface(NIC_PRODUCT_NAME)\Bytes Sent/sec</Counter>
\Network Interface(NIC_PRODUCT_NAME)\Packets Outbound Discarded</Counter>
\Network Interface(NIC_PRODUCT_NAME)\Packets Outbound Errors</Counter>
\Network Interface(NIC_PRODUCT_NAME)\Packets Received Discarded</Counter>
\Network Interface(NIC_PRODUCT_NAME)\Packets Received Errors</Counter>
\Network Interface(NIC_PRODUCT_NAME)\Packets Received/sec</Counter>
\Network Interface(NIC_PRODUCT_NAME)\Packets Sent/sec</Counter>
\Processor(_Total)\% Processor Time</Counter>
\System\Processor Queue Length</Counter>

1秒おきにカンマ区切りのCSVで取得
流してみる

負荷
タスクマネージャでCPU使用率の増減を監視
リソースモニターでディスクIOの増減を監視

どちらもデータコレクター実行中・実行してないときで負荷状況に変化なし
検証した環境では、CPU使用率はずっと4%。タスクマネージャが恒常的に3%。たまにsystemとかが上位にくる
ディスクIO負荷状況も変わらず

CSVの1レコードは280バイト
内容は以下

"12/07/2020 23:17:20.382","313.11304204264376949","174.85533516667118192","0","0","0","0","0","2.0332015717054789938","2.0332015717054789938","313.11304204264376949","174.85533516667118192","0","0","0","0","2.0332015717054789938","2.0332015717054789938","6.34264141435691986","0"

1分間で、
サイズ 12.8KB
ディスク上のサイズ 16KB

メトリクスについて、

Network Adapterと
Network Interfaceがあって、
どちらも同じメトリクスが用意されてる

Network AdapterはVirtual Boxの仮想NICや、Windows内部的な仮想NICを含む
Network Interfaceは、WifiとLAN差込口の、物理的なNICだけ表示される

出力される値がNW AdapterとNW Interfaceで異なるかの確認のため、
両方に含まれてる同じNICのメトリクスを取得してみたけど、
NW AdapterとNW Interfaceで、同じメトリクスなら全く同じ値が出力され、差はなかった
なので、(今回調べたいのは物理NICの負荷なので) NW Interfaceの対象NICだけ選択して
メトリクスを選べばOK

なのでメトリクスは以下のように絞れ、さらにログ出力量と負荷を減らすことができる
(負荷はまったく気にするレベルではなかったけど。タスクマネージャの方が断然重)

\Network Interface(NIC_PRODUCT_NAME)\Bytes Received/sec</Counter>
\Network Interface(NIC_PRODUCT_NAME)\Bytes Sent/sec</Counter>
\Network Interface(NIC_PRODUCT_NAME)\Packets Outbound Discarded</Counter>
\Network Interface(NIC_PRODUCT_NAME)\Packets Outbound Errors</Counter>
\Network Interface(NIC_PRODUCT_NAME)\Packets Received Discarded</Counter>
\Network Interface(NIC_PRODUCT_NAME)\Packets Received Errors</Counter>
\Network Interface(NIC_PRODUCT_NAME)\Packets Received/sec</Counter>
\Network Interface(NIC_PRODUCT_NAME)\Packets Sent/sec</Counter>
\Processor(_Total)\% Processor Time</Counter>
\System\Processor Queue Length</Counter>

Packet Out[In]bound Discardは、廃棄パケット
Packet Out[In]bound Errorsはエラーパケット
Packet Send/Receivedと併せて、処理したパケットのうち何割が廃棄やエラーなのか分かるようにする
あとは秒間の受信/送信バイト数と、念のためロードアベレージ (Processor Queue Length)とCPU使用率 (_TotalのProcessor Time)

メトリクス半分にしての1行のログ出力サイズは
163バイト

280が163になったので58%になった
切り良く60%とする
これ当てはめると1分間分は
サイズ 12.8KB x 0.6 = 7.68KB
ディスク上のサイズ 16KB x 0.6 = 9.6KB

だいたい10KBか
これに安全係数で1.5かけると
1分あたり15KB
900KB/h
21.6MB/day
151.2MB/week
604.8MB/Month

かなり現実的に大丈夫そうなログサイズだということが分かった