Linuxtop
コマンドは、システムが使用するすべてのCPU時間を説明しますか?
LinuxシステムでIPsec処理のボトルネックを理解しようとしています。特定の例では、システムはAWSの仮想マシンであり、IPsecスループットをテストしています。 AWS が各ストリームに課す制限を理解していますが、その制限に達していません。報告によると、ethtool
IPsecのハードウェアオフロードはありません。 IPsecがないと、はるかに高いスループットを達成できます(AWSがインスタンスタイプに対して公開した制限に達しました)。 IPsecを使用すると、スループットがかなり低いため理解できますが、制限の原因が何であるかを確実に知りたいです。
したがって、IPsecの場合、スループットは仮想マシンのCPU使用量(メモリ待機を含む)によって制限されると予想されます。私がテストした場合、vCPUは32個あり、ストリームが32を超える場合でも、各vCPUに対してGet出力を押すとtop
使用1
率が非常に高いvCPUがなく、ほとんどが50%以上アイドル状態でした。
チームメンバーは、top
すべてのvCPU使用率が計算されない可能性があり、一部の「コア」LinuxカーネルCPU使用率が無視される可能性があると提案しました。可能ですか?
しかし、ストリームの数が増えるにつれて、スループットは最大512まで増加します(ulimitの最大値を変更せずに)。さらに、フローの数を増やすよりも IPsec トンネルの数が増えると、スループットが高くなります。私にとって、これはステータスがip xfrm
vCPUに接続できることを意味します。ただし、top
CPU使用率は非常に高くないため、結果からこれについての明確な証拠を見ることはできません。ほとんどの使用量はsi
(ソフトウェア割り込み)列にあります。