Up/Down Speeds Not Matching iperf Speeds

First off, hello everyone! I’m new to TrueNas Scale and all it’s wonderful features but so far this seems like a great product! I want to say ahead of time that I have searched the forums and found similar problems to mine but none that offered any guidance or solutions on my specific problem. At least not that I found after a couple hours of google and forum searches so I’m hoping someone here can help me out.

Problem: Running iperf3 server on windows machine and client on TrueNas Scale (From Either the Physical Shell on the Monitor or the one in settings) I get a total Send/Receive speed of around 940Mbits/sec for both Send and Recieve. When I transfer a file from my windows machine to the TrueNas Scale server though, it caps at about 100-115Mbits/sec.

Expected behavior is to recieve at least 500Mbits/sec or more.

Troubleshooting: Testing speed from windows machine to TrueNas Scale server with TrueNas Scale server running iperf3 server and windows machine running client I get 940Mbits/sec. Running google speed test to WAN (ISP) (Not that it matters but just for sh*ts and gigs to verify external connectivity through LAN to WAN) I get 800+/-Mbits/sec.
Running iperf3 between same windows machine and another windows machine or same windows machine and a linux machine or same windows machine to either a windows or linux virtual machine all yield around 940Mbits/sec.

I’m not sure why my network is able to do 940Mbits/sec Up & Down thorugh iperf on every system to every system but file transfers don’t work above 100+/-Mbits/sec

Any help on this would be greatly appreciated. If you have any Q’s let me know and I’ll get answers if I can.

SMB can be very efficient when transferring small files.

What happens when you transfer a single very large file?

Whether I transfer a 13gb or 1gb or 800mb or 300mb file it caps out at 100-115Mbits/sec.

I want to clarify because apparently (after doing more research) Mbist/sec of 940-945 which is what I get with iperf3 actially is 117Mbs. So 100-115 is actually pretty good for that speed but I still don’t understand why I only have a max of 117Mbs. I did some work on my OPNsense router and got it to link at 1000baseTX on both ends of the LAN connection so now OPNsense and my switch are showing 1000baseTX and both the PC I’m using windows on and the PC TrueNas Scale is on are at 1000baseTX as well yet I’m still capped at 117Mbs.

Note that file transfers from Windows are measured in megabytes per second, whereas iperf and other bandwidth tools typically measure in megabits.

117MB/s (megabytes per second) is approximately 981467136 bits per second, or about 98.1% of the maximum theoretical throughput of a “1Gbps” connection - that’s certainly a fantastic copy rate.

1 Like

Ahhh see I’m new to a lot of this so I think it’s just a misunderstanding of how it works on my end. Now that you’ve explained it like that, I see now that it’s transferring at a fairly high rate. Out of curiosity, would there be a way to get even better rates? I’m assuming I’d have to convert my network over to 10gig for that?

Not necessarily. You can bond multiple 1GbE NICs on the server to get 2 or 4GbE, but your ethernet switch needs to support it, and you need multiple NICs on your server.

You’ll then be able to serve data to multiple clients each connected at 1GbE, or bond multiple connections on your clients, too.

2.5GbE is also a thing now, and considerably cheaper (and less power hungry) than 10GbE

Thanks for the reply! I’ll have to get a nic for the server as I’m using the integrated one as of now but I already planned on swapping so I’ll do that! Thank you!