Open 98hq opened 5 days ago
Thank you for your message and detailed explanation of your setup.
From the comparison of the above two results, we can see that when Concurrent connections are 1 and 4, the speed of Linux TCP is higher than lwIP on DPDK.
I guess it is because, in the setup you described, lwIP on DPDK works on a tap device (specified in the command --vdev=net_tap001,iface=tap001
) which generally imposes networking performance overhead while the Linux TCP stack case performs networking between the benchmark server and client processes without going through a tap device.
To highlight the performance merit of lwIP on DPDK, I think we may need to use physical NICs, which can achieve tens of Gbps throughput, to connect the benchmark server and client processes.
Thank you very much for your interest.
Hello,
First of all, thank you for making this project available, it is very interesting. I followed the steps in README to reproduce the experiment, but in my system, the speed of Linux TCP is sometimes faster than lwIP on DPDK. The lwip and dpdk versions I used are the same as yours. My system is Ubuntu 22.04, and the kernel information is
The command I used to create huge pages is:
My memory information is
The command line I used to start the app is:
After starting, I used wrk to test in another terminal. The test command and output are as follows:
I use the server code you provided, and the server startup parameters are as follows:
The results of testing with wrk in another terminal are as follows:
The relevant parameters of the device are:
From the comparison of the above two results, we can see that when Concurrent connections are 1 and 4, the speed of Linux TCP is higher than lwIP on DPDK. Only when Concurrent connections are 2, the speed of lwIP on DPDK is higher than Linux TCP. I don't understand why this is the case. Did I miss an option in the steps?