Saya belum melakukan sesuatu yang tidak biasa pada konfigurasi perangkat keras atau kernel saya (semua pengaturan default, instalasi OS baru, kernel Linux 3,11 TCP / IP stack) dan saya rata-rata sekitar 3,83 juta pesan per detik melalui TCP sementara saya hanya rata-rata 0,75 juta pesan per detik melalui UDP. Ini tampaknya benar-benar menentang apa yang saya harapkan dari kedua protokol.
Apa penyebab yang paling mungkin untuk perbedaan drastis dan bagaimana saya bisa mendiagnosisnya di Ubuntu 13.10?
#TCP RESULTS
Recv Send Send Utilization Service Demand
Socket Socket Message Elapsed Send Recv Send Recv
Size Size Size Time Throughput local remote local remote
bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB
87380 65536 64 10.00 1963.43 32.96 17.09 5.500 2.852
#UDP RESULTS
Socket Message Elapsed Messages CPU Service
Size Size Time Okay Errors Throughput Util Demand
bytes bytes secs # # 10^6bits/sec % SS us/KB
4194304 64 10.00 7491010 0 383.5 28.97 24.751
212992 10.00 1404941 71.9 25.03 21.381
Untuk pengujian ini saya memiliki dua server pengujian yang identik dan terhubung langsung melalui kabel crossover 10G. NIC yang digunakan dalam kasus ini adalah Intel X520's dengan konfigurasi out-of-box dan terhubung ke slot PCIe 3.0 x8 pada motherboard, yang berkomunikasi dengan CPU melalui pengontrol NUMA.
netperf
tes benchmark, UDP_STREAM dan TCP_STREAM, diperbaiki untuk CPU yang sama, dan ukuran pesan 64 byte.