Linux で CPS とスループットのメトリックを取得する方法はありますか?

Linux で CPS とスループットのメトリックを取得する方法はありますか?

Debian 9 サーバーのネットワーク ワークロードを分析して、ネットワークの過負荷の可能性を検出したいと考えています。

分析する必要がある主な指標は次のとおりです。

  • CPS (1秒あたりの接続数)
  • スループット

Linux 内からこれらのメトリックを取得する方法はありますか?
CPS メトリックは、conntrack 接続イベントを通じて何らかの方法で取得できると思いましたNEWが、これが最も適切な方法であるかどうかはわかりません。

明らかだったらごめんなさい。

PS このサーバーはローカル トラフィックを処理するだけでなく、大量のトラフィックの転送も行います。

答え1

これらのメトリックの起源をネイティブ Linux API に基づいて説明すれば十分だと思います。


スループット

ちなみに、スループット一般的にメトリックとは、外部のテスト対象(あなたが話しているOS Linux)に関連して。つまり、大まかに言えば、2つのホスト(クライアントとサーバーなど)があり、その間にテスト対象があります。クライアントとサーバー間のネットワークトラフィックを吹き飛ばし、テスト対象(たとえば、iperfしかし、
Linux OS内でスループットを測定する簡単な方法はインターフェースごとにしかありません
/proc/net/devそして計算する1秒あたりのバイト数の差:

sh-tst# cat /proc/net/dev 
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo: 87016202  715723    0    0    0     0          0         0 87016202  715723    0    0    0     0       0          0
  eth3:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
  eth2:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
  eth1: 246415305 2899662    0 132906    0     0          0       230  5466117   19016    0    0    0     0       0          0
  eth0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0

児童虐待防止法

CPS メトリックについても同様です。基本的には外部測定です。ただし、Linux 内から次のものに基づいて計算することができます/proc/net/stat/ip_conntrack

sh-tst# cat /proc/net/stat/ip_conntrack 
entries  searched found new invalid ignore delete delete_list insert insert_failed drop early_drop icmp_error  expect_new expect_create expect_delete search_restart
000000f8  00001742 0003142f 0001e85a 00000079 00021333 0001e6cf 00003a3d 00003bc5 00000000 00000000 00000000 00000000  00000000 00000000 00000000 00000000
000000f8  00002389 0005f1a0 0003b6f3 00000085 0004286f 0003b59e 00003cea 00003e3f 00000000 00000000 00000000 00000000  00000000 00000000 00000000 00000000
000000f8  000002c0 00037a77 00000714 00000000 000382cb 00000825 00000724 00000616 00000000 00000000 00000000 00000000  00000000 00000000 00000000 00000000
000000f8  00000225 00026cf9 00000271 00000000 00026e48 00000348 000002bd 000001e6 00000000 00000000 00000000 00000000  00000000 00000000 00000000 00000000

からlnstat(8)男:

/proc/net/stat/ip_conntrack、/proc/net/stat/nf_conntrack Conntrack 関連のカウンター。ip_conntrack は古いユーザー空間との下位互換性のみを目的としており、nf_conntrack と同じデータを表示します。

...

以前は予想されていなかった、追加された conntrack エントリの新しい数。

Linux 接続追跡の場合:

NEW - パケットが新しい接続を開始したか、または両方向でパケットを受信して​​いない接続に関連付けられていることを意味します。

計算したいようですねデルタnew/秒

続きを読む:

答え2

sysstat に付属する sar コマンドは、両方の操作を実行します。

1秒あたりの接続を監視するにはsar -n TCP 1

active/sは送信TCP接続、passive/sは受信TCP接続です。

UDPの場合 sar -n UDP 1

ネットワークスループットを確認するには、sar -n DEV を実行します (オプションで 1 を追加して、1 秒あたりの電流を監視します)。

関連情報