Closed jiegec closed 5 years ago
Based on iperf.
Current status (tcp, maximum observed): rcore -> linux 1.24Gb/s -> 1.40Gb/s -> 2.18Gb/s -> 2.62Gb/s -> 3.50Gb/s linux -> rcore 308Mb/s -> 320Mb/s -> 379Mb/s -> 407Mb/s -> 1.40Gb/s -> 2.47Gb/s -> 2.53Gb/s -> 3.74Gb/s -> 4.44Gb/s
Udp is not working because smoltcp does not support segmentation.
Possible ways to improve:
Manually disable RX checksum for smoltcp seems to have little improvement.
I think we have met smoltcp's performance limit.
Test under linux:
Put two interfaces into two netns, then use iperf to test:
tcp: 9.38Gb/s
Idea: Check performance of sending raw ethernet packets, skipping network stack.
Based on iperf.
Current status (tcp, maximum observed): rcore -> linux 1.24Gb/s -> 1.40Gb/s -> 2.18Gb/s -> 2.62Gb/s -> 3.50Gb/s linux -> rcore 308Mb/s -> 320Mb/s -> 379Mb/s -> 407Mb/s -> 1.40Gb/s -> 2.47Gb/s -> 2.53Gb/s -> 3.74Gb/s -> 4.44Gb/s
Udp is not working because smoltcp does not support segmentation.
Possible ways to improve:
Manually disable RX checksum for smoltcp seems to have little improvement.
I think we have met smoltcp's performance limit.
Test under linux:
Put two interfaces into two netns, then use iperf to test:
tcp: 9.38Gb/s