Date: Mon, 28 Aug 2023 07:32:35 +0000 From: Wei Hu <weh@microsoft.com> To: "freebsd-hackers@FreeBSD.org" <freebsd-hackers@freebsd.org> Cc: "freebsd-net@FreeBSD.org" <freebsd-net@freebsd.org> Subject: Very slow scp performance comparing to Linux Message-ID: <SI2P153MB0441858EC3FE24D5B7A6B34DBBE0A@SI2P153MB0441.APCP153.PROD.OUTLOOK.COM>
next in thread | raw e-mail | index | archive | help
Hi, When I was testing a new NIC, I found the single stream scp performance was= almost 8 time slower than Linux on the RX side. Initially I thought it mig= ht be something with the NIC. But when I switched to sending the file on lo= calhost, the numbers stay the same.=20 Here I was sending a 2GB file from sender to receiver using scp. FreeBSD i= s a recent NON-DEBUG build from CURRENT. The Ubuntu Linux kernel is 6.2.0. = Both run in HyperV VMs on the same type of hardware. The FreeBSD VM has 16 = vcpus, while Ubuntu VM has 4 vcpu. Sender Receiver throughput Linux FreeBSD 70 MB/s Linux Linux 550 MB/s FreeBSD FreeBSD 70 MB/s FreeBSD Linux 350 MB/s FreeBSD localhost 70 MB/s Linux localhost 550 MB/s >From theses test, it seems I can rule out the issue on NIC and its driver. = Looks the FreeBSD kernel network stack is much slower than Linux on single = stream TCP, or there are some problem with scp? I also tried turning on following kernel parameters on FreeBSD kernel. But = it makes no difference, neither do the other tcp cc algorithms such as htcp= and newreno. net.inet.tcp.soreceive_stream=3D"1" net.isr.maxthreads=3D"-1" net.isr.bindthreads=3D"1" net.inet.ip.intr_queue_maxlen=3D2048 net.inet.tcp.recvbuf_max=3D16777216 net.inet.tcp.recvspace=3D419430 net.inet.tcp.sendbuf_max=3D16777216 net.inet.tcp.sendspace=3D209715 kern.ipc.maxsockbuf=3D16777216 Any ideas? Thanks, Wei
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?SI2P153MB0441858EC3FE24D5B7A6B34DBBE0A>