パケット サイズが 1500 バイトの場合と比べて、小さなサイズのパケット (つまり 64 バイト) の場合、マシンのスループットが非常に悪いのはなぜですか?
私は GIGABIT NIC カードを持っており、1500 バイト サイズのパケットを 80MB/s で送信できますが、64 バイト サイズのパケットの場合、約 25MB/s をほとんど理解できません。
1500 バイトのパケットの場合、ライン レートに到達するには約 80k PPS を送信する必要があり、64 バイトの場合は約 140 万 PPS を送信する必要があることがわかっています。
しかし、サイズの小さいパケットのスループットに大きなばらつきがあるのはなぜですか??
編集:メモリ マッピングを使用して、Linux のユーザー空間からカーネル空間にパケットを送信し、ネットワーク ドライバーに直接書き込んで送信しています。また、64 バイトのパケットと 1500 バイトのパケットを比較すると、CPU 使用率が非常に低く、同じであることがわかります。