POOR SMB / Samba Performance

Hi All,

I am getting poor performance with SMB on windows 11 with the latest truenas scale version. Basically its around 15MB/s. I tested my array and that says about 400MB/s. So this isn’t great. Now I am on a 1gb NIC, but 15MB/s it nowhere near that.

Please note that the array is connected through an HBA - IBM ServeRAID N2215 (equivalent to LSI 9302-8i) based on the LSI SAS3008 SAS-3 controller chipset and support PCI-E 3.0 specifications with x8 lanes (physically its PCIe 2.0 x8). That HBA and the ethernet nic appear to be connected to the b450 chipset.

Compression is enabled, but encryption and deduplication are not.

Looking for input on the cause of this and advice on how to address this. E.g., is there a contention issue (e.g., one that might be fixed by getting a NIC that is directly connected to the CPU, or is this a SMB issue and is there an appropriate alternative to SMB.

Test your network first using iPerf3. You should prove 1Gbps between machines is working

How did you test your array? How are you testing SMB performance? Be as detailed as possible

I’m guessing the realtek NIC is the issue - swap it out with a INTEL nic, see if that works. (I always say it realtek NIC)

1 Like

I had previously followed something i found on the net for FIO but now I can’t find that. Instead, I am finding other stuff that is giving me wildly different numbers. So I will dig and see if I can figure out how to properly test zfs performance for my spinning disk pool.

Here are sequential large file reads and writes to the pool/dataset in question.

root@truenas[/mnt/Primary_1/Master]# fio --randrepeat=1 --ioengine=libaio --direct=1
–gtod_reduce=1 --name=test --filename=test
–bs=64k --iodepth=64 --size=25G --readwrite=write
test: (g=0): rw=write, bs=(R) 64.0KiB-64.0KiB, (W) 64.0KiB-64.0KiB, (T) 64.0KiB-64.0KiB, ioengine=libaio, iodepth=64
fio-3.33
Starting 1 process
test: Laying out IO file (1 file / 25600MiB)
Jobs: 1 (f=1): [W(1)][100.0%][w=508MiB/s][w=8126 IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=604348: Mon Jun 30 16:43:30 2025
write: IOPS=6921, BW=433MiB/s (454MB/s)(25.0GiB/59180msec); 0 zone resets
bw ( KiB/s): min=160512, max=1760128, per=100.00%, avg=443441.90, stdev=249236.67, samples=118
iops : min= 2508, max=27502, avg=6928.78, stdev=3894.32, samples=118
cpu : usr=2.47%, sys=40.64%, ctx=260750, majf=0, minf=8
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0%
issued rwts: total=0,409600,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=64

Run status group 0 (all jobs):
WRITE: bw=433MiB/s (454MB/s), 433MiB/s-433MiB/s (454MB/s-454MB/s), io=25.0GiB (26.8GB), run=59180-59180msec
root@truenas[/mnt/Primary_1/Master]#
root@truenas[/mnt/Primary_1/Master]# fio --randrepeat=1 --ioengine=libaio --direct=1
–gtod_reduce=1 --name=test --filename=test
–bs=64k --iodepth=64 --size=25G --readwrite=read
test: (g=0): rw=read, bs=(R) 64.0KiB-64.0KiB, (W) 64.0KiB-64.0KiB, (T) 64.0KiB-64.0KiB, ioengine=libaio, iodepth=64
fio-3.33
Starting 1 process
Jobs: 1 (f=1): [R(1)][100.0%][r=457MiB/s][r=7305 IOPS][eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=611807: Mon Jun 30 16:46:50 2025
read: IOPS=7589, BW=474MiB/s (497MB/s)(25.0GiB/53967msec)
bw ( KiB/s): min=391808, max=751104, per=100.00%, avg=490639.70, stdev=47304.76, samples=106
iops : min= 6122, max=11736, avg=7666.23, stdev=739.14, samples=106
cpu : usr=1.34%, sys=46.33%, ctx=13225, majf=0, minf=522
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0%
issued rwts: total=409600,0,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=64

Run status group 0 (all jobs):
READ: bw=474MiB/s (497MB/s), 474MiB/s-474MiB/s (497MB/s-497MB/s), io=25.0GiB (26.8GB), run=53967-53967msec
root@truenas[/mnt/Primary_1/Master]#

Here are some iperf results between my laptop and the server. BTW - I get 868 Mbps down and 545 Mbps upload on the internet (the server is on the local network) so it should be capable of more then the 15 MB/s I get with windows file transfer.

My uneducated reading is that the network device on the server is not performing.

root@truenas[/mnt/Primary_1/Master]# iperf3 -s

Server listening on 5201 (test #1)

Accepted connection from 192.168.68.121, port 52777
[ 5] local 192.168.68.123 port 5201 connected to 192.168.68.121 port 52778
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 24.4 MBytes 205 Mbits/sec
[ 5] 1.00-2.00 sec 15.8 MBytes 132 Mbits/sec
[ 5] 2.00-3.00 sec 16.8 MBytes 141 Mbits/sec
[ 5] 3.00-4.00 sec 25.2 MBytes 211 Mbits/sec
[ 5] 4.00-5.00 sec 25.7 MBytes 216 Mbits/sec
[ 5] 5.00-6.00 sec 18.8 MBytes 158 Mbits/sec
[ 5] 6.00-7.00 sec 15.6 MBytes 131 Mbits/sec
[ 5] 7.00-8.00 sec 11.2 MBytes 94.3 Mbits/sec
[ 5] 8.00-9.00 sec 15.1 MBytes 127 Mbits/sec
[ 5] 9.00-10.00 sec 10.6 MBytes 88.6 Mbits/sec
[ 5] 10.00-10.01 sec 195 KBytes 200 Mbits/sec


[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.01 sec 179 MBytes 150 Mbits/sec receiver

Server listening on 5201 (test #2)

Accepted connection from 192.168.68.121, port 52791
[ 5] local 192.168.68.123 port 5201 connected to 192.168.68.121 port 52792
[ 8] local 192.168.68.123 port 5201 connected to 192.168.68.121 port 52793
[ 10] local 192.168.68.123 port 5201 connected to 192.168.68.121 port 52794
[ 12] local 192.168.68.123 port 5201 connected to 192.168.68.121 port 52795
[ 14] local 192.168.68.123 port 5201 connected to 192.168.68.121 port 52796
[ 16] local 192.168.68.123 port 5201 connected to 192.168.68.121 port 52797
[ 18] local 192.168.68.123 port 5201 connected to 192.168.68.121 port 52798
[ 20] local 192.168.68.123 port 5201 connected to 192.168.68.121 port 52799
[ 22] local 192.168.68.123 port 5201 connected to 192.168.68.121 port 52800
[ 24] local 192.168.68.123 port 5201 connected to 192.168.68.121 port 52801
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 596 KBytes 4.88 Mbits/sec
[ 8] 0.00-1.00 sec 2.20 MBytes 18.5 Mbits/sec
[ 10] 0.00-1.00 sec 3.60 MBytes 30.2 Mbits/sec
[ 12] 0.00-1.00 sec 3.37 MBytes 28.3 Mbits/sec
[ 14] 0.00-1.00 sec 5.30 MBytes 44.4 Mbits/sec
[ 16] 0.00-1.00 sec 4.11 MBytes 34.4 Mbits/sec
[ 18] 0.00-1.00 sec 4.89 MBytes 41.0 Mbits/sec
[ 20] 0.00-1.00 sec 6.87 MBytes 57.6 Mbits/sec
[ 22] 0.00-1.00 sec 2.33 MBytes 19.6 Mbits/sec
[ 24] 0.00-1.00 sec 143 KBytes 1.17 Mbits/sec
[SUM] 0.00-1.00 sec 33.4 MBytes 280 Mbits/sec


[ 5] 1.00-2.00 sec 2.35 MBytes 19.7 Mbits/sec
[ 8] 1.00-2.00 sec 5.63 MBytes 47.3 Mbits/sec
[ 10] 1.00-2.00 sec 6.47 MBytes 54.3 Mbits/sec
[ 12] 1.00-2.00 sec 4.58 MBytes 38.4 Mbits/sec
[ 14] 1.00-2.00 sec 5.87 MBytes 49.3 Mbits/sec
[ 16] 1.00-2.00 sec 1.96 MBytes 16.4 Mbits/sec
[ 18] 1.00-2.00 sec 8.24 MBytes 69.1 Mbits/sec
[ 20] 1.00-2.00 sec 2.85 MBytes 23.9 Mbits/sec
[ 22] 1.00-2.00 sec 3.25 MBytes 27.2 Mbits/sec
[ 24] 1.00-2.00 sec 466 KBytes 3.82 Mbits/sec
[SUM] 1.00-2.00 sec 41.7 MBytes 349 Mbits/sec


[ 5] 2.00-3.00 sec 1.49 MBytes 12.5 Mbits/sec
[ 8] 2.00-3.00 sec 7.81 MBytes 65.5 Mbits/sec
[ 10] 2.00-3.00 sec 5.05 MBytes 42.4 Mbits/sec
[ 12] 2.00-3.00 sec 6.24 MBytes 52.3 Mbits/sec
[ 14] 2.00-3.00 sec 1.79 MBytes 15.0 Mbits/sec
[ 16] 2.00-3.00 sec 2.30 MBytes 19.3 Mbits/sec
[ 18] 2.00-3.00 sec 4.27 MBytes 35.8 Mbits/sec
[ 20] 2.00-3.00 sec 3.45 MBytes 28.9 Mbits/sec
[ 22] 2.00-3.00 sec 3.34 MBytes 28.0 Mbits/sec
[ 24] 2.00-3.00 sec 4.14 MBytes 34.7 Mbits/sec
[SUM] 2.00-3.00 sec 39.9 MBytes 335 Mbits/sec


[ 5] 3.00-4.00 sec 3.49 MBytes 29.2 Mbits/sec
[ 8] 3.00-4.00 sec 7.14 MBytes 59.9 Mbits/sec
[ 10] 3.00-4.00 sec 7.88 MBytes 66.1 Mbits/sec
[ 12] 3.00-4.00 sec 550 KBytes 4.51 Mbits/sec
[ 14] 3.00-4.00 sec 3.70 MBytes 31.0 Mbits/sec
[ 16] 3.00-4.00 sec 3.08 MBytes 25.8 Mbits/sec
[ 18] 3.00-4.00 sec 595 KBytes 4.87 Mbits/sec
[ 20] 3.00-4.00 sec 3.28 MBytes 27.6 Mbits/sec
[ 22] 3.00-4.00 sec 3.41 MBytes 28.6 Mbits/sec
[ 24] 3.00-4.00 sec 1.25 MBytes 10.5 Mbits/sec
[SUM] 3.00-4.00 sec 34.4 MBytes 288 Mbits/sec


[ 5] 4.00-5.00 sec 5.59 MBytes 46.9 Mbits/sec
[ 8] 4.00-5.00 sec 4.86 MBytes 40.7 Mbits/sec
[ 10] 4.00-5.00 sec 6.52 MBytes 54.7 Mbits/sec
[ 12] 4.00-5.00 sec 2.76 MBytes 23.2 Mbits/sec
[ 14] 4.00-5.00 sec 1.73 MBytes 14.5 Mbits/sec
[ 16] 4.00-5.00 sec 7.76 MBytes 65.1 Mbits/sec
[ 18] 4.00-5.00 sec 5.75 MBytes 48.2 Mbits/sec
[ 20] 4.00-5.00 sec 1.65 MBytes 13.9 Mbits/sec
[ 22] 4.00-5.00 sec 3.13 MBytes 26.3 Mbits/sec
[ 24] 4.00-5.00 sec 1.36 MBytes 11.4 Mbits/sec
[SUM] 4.00-5.00 sec 41.1 MBytes 345 Mbits/sec


[ 5] 5.00-6.00 sec 5.46 MBytes 45.8 Mbits/sec
[ 8] 5.00-6.00 sec 3.82 MBytes 32.0 Mbits/sec
[ 10] 5.00-6.00 sec 4.69 MBytes 39.3 Mbits/sec
[ 12] 5.00-6.00 sec 2.86 MBytes 24.0 Mbits/sec
[ 14] 5.00-6.00 sec 5.47 MBytes 45.9 Mbits/sec
[ 16] 5.00-6.00 sec 8.61 MBytes 72.3 Mbits/sec
[ 18] 5.00-6.00 sec 3.32 MBytes 27.9 Mbits/sec
[ 20] 5.00-6.00 sec 2.05 MBytes 17.2 Mbits/sec
[ 22] 5.00-6.00 sec 3.44 MBytes 28.8 Mbits/sec
[ 24] 5.00-6.00 sec 95.5 KBytes 783 Kbits/sec
[SUM] 5.00-6.00 sec 39.8 MBytes 334 Mbits/sec


[ 5] 6.00-7.00 sec 6.77 MBytes 56.8 Mbits/sec
[ 8] 6.00-7.00 sec 7.13 MBytes 59.8 Mbits/sec
[ 10] 6.00-7.00 sec 3.73 MBytes 31.3 Mbits/sec
[ 12] 6.00-7.00 sec 65.6 KBytes 537 Kbits/sec
[ 14] 6.00-7.00 sec 5.04 MBytes 42.3 Mbits/sec
[ 16] 6.00-7.00 sec 1.15 MBytes 9.68 Mbits/sec
[ 18] 6.00-7.00 sec 6.41 MBytes 53.8 Mbits/sec
[ 20] 6.00-7.00 sec 4.22 MBytes 35.4 Mbits/sec
[ 22] 6.00-7.00 sec 2.44 MBytes 20.5 Mbits/sec
[ 24] 6.00-7.00 sec 1.90 MBytes 15.9 Mbits/sec
[SUM] 6.00-7.00 sec 38.9 MBytes 326 Mbits/sec


[ 5] 7.00-8.00 sec 11.0 MBytes 92.0 Mbits/sec
[ 8] 7.00-8.00 sec 7.57 MBytes 63.5 Mbits/sec
[ 10] 7.00-8.00 sec 3.86 MBytes 32.4 Mbits/sec
[ 12] 7.00-8.00 sec 0.00 Bytes 0.00 bits/sec
[ 14] 7.00-8.00 sec 1.96 MBytes 16.4 Mbits/sec
[ 16] 7.00-8.00 sec 863 KBytes 7.07 Mbits/sec
[ 18] 7.00-8.00 sec 2.74 MBytes 23.0 Mbits/sec
[ 20] 7.00-8.00 sec 3.58 MBytes 30.0 Mbits/sec
[ 22] 7.00-8.00 sec 2.28 MBytes 19.1 Mbits/sec
[ 24] 7.00-8.00 sec 5.43 MBytes 45.6 Mbits/sec
[SUM] 7.00-8.00 sec 39.2 MBytes 329 Mbits/sec


[ 5] 8.00-9.00 sec 3.42 MBytes 28.7 Mbits/sec
[ 8] 8.00-9.00 sec 6.09 MBytes 51.1 Mbits/sec
[ 10] 8.00-9.00 sec 3.38 MBytes 28.3 Mbits/sec
[ 12] 8.00-9.00 sec 3.13 MBytes 26.2 Mbits/sec
[ 14] 8.00-9.00 sec 1.39 MBytes 11.6 Mbits/sec
[ 16] 8.00-9.00 sec 1.85 MBytes 15.5 Mbits/sec
[ 18] 8.00-9.00 sec 4.86 MBytes 40.7 Mbits/sec
[ 20] 8.00-9.00 sec 6.46 MBytes 54.2 Mbits/sec
[ 22] 8.00-9.00 sec 4.21 MBytes 35.3 Mbits/sec
[ 24] 8.00-9.00 sec 5.36 MBytes 45.0 Mbits/sec
[SUM] 8.00-9.00 sec 40.1 MBytes 337 Mbits/sec


[ 5] 9.00-10.00 sec 3.64 MBytes 30.5 Mbits/sec
[ 8] 9.00-10.00 sec 2.17 MBytes 18.2 Mbits/sec
[ 10] 9.00-10.00 sec 3.34 MBytes 28.0 Mbits/sec
[ 12] 9.00-10.00 sec 1.17 MBytes 9.81 Mbits/sec
[ 14] 9.00-10.00 sec 4.51 MBytes 37.8 Mbits/sec
[ 16] 9.00-10.00 sec 4.08 MBytes 34.2 Mbits/sec
[ 18] 9.00-10.00 sec 2.68 MBytes 22.5 Mbits/sec
[ 20] 9.00-10.00 sec 4.00 MBytes 33.6 Mbits/sec
[ 22] 9.00-10.00 sec 406 KBytes 3.33 Mbits/sec
[ 24] 9.00-10.00 sec 2.61 MBytes 21.9 Mbits/sec
[SUM] 9.00-10.00 sec 28.6 MBytes 240 Mbits/sec


[ 5] 10.00-10.05 sec 0.00 Bytes 0.00 bits/sec
[ 8] 10.00-10.05 sec 0.00 Bytes 0.00 bits/sec
[ 10] 10.00-10.05 sec 0.00 Bytes 0.00 bits/sec
[ 12] 10.00-10.05 sec 0.00 Bytes 0.00 bits/sec
[ 14] 10.00-10.05 sec 148 KBytes 23.9 Mbits/sec
[ 16] 10.00-10.05 sec 69.9 KBytes 11.2 Mbits/sec
[ 18] 10.00-10.05 sec 12.8 KBytes 2.07 Mbits/sec
[ 20] 10.00-10.05 sec 82.7 KBytes 13.3 Mbits/sec
[ 22] 10.00-10.05 sec 24.2 KBytes 3.90 Mbits/sec
[ 24] 10.00-10.05 sec 123 KBytes 19.7 Mbits/sec
[SUM] 10.00-10.05 sec 461 KBytes 74.1 Mbits/sec


[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.05 sec 43.8 MBytes 36.5 Mbits/sec receiver
[ 8] 0.00-10.05 sec 54.4 MBytes 45.4 Mbits/sec receiver
[ 10] 0.00-10.05 sec 48.5 MBytes 40.5 Mbits/sec receiver
[ 12] 0.00-10.05 sec 24.7 MBytes 20.6 Mbits/sec receiver
[ 14] 0.00-10.05 sec 36.9 MBytes 30.8 Mbits/sec receiver
[ 16] 0.00-10.05 sec 35.8 MBytes 29.9 Mbits/sec receiver
[ 18] 0.00-10.05 sec 43.8 MBytes 36.5 Mbits/sec receiver
[ 20] 0.00-10.05 sec 38.5 MBytes 32.1 Mbits/sec receiver
[ 22] 0.00-10.05 sec 28.3 MBytes 23.6 Mbits/sec receiver
[ 24] 0.00-10.05 sec 22.9 MBytes 19.1 Mbits/sec receiver
[SUM] 0.00-10.05 sec 377 MBytes 315 Mbits/sec receiver

Server listening on 5201 (test #3)

Did you stop all activity on the network when testing. Nobody was streaming in the house, watching YouTube, etc. You don’t want your router getting overwhelmed, depending on models.

I don’t know if this applies. Saw your JMB585 Chipset listing

The kids may have been streaming on the TV, but I did the speed test right after the iperf. So, I very much doubt that is an issue but I can rerun late at night. There are containers as well but most are not doing much at the moment.

The JMB585 is not installed, the HBA listed in the first post was just installed. Which is a pcie 3.0 x8 card, but it is installed in a pcie 2.0 x8 slot that I believe is connected to the CPU through the B450 chipset. The 4 seagate drives are connected to the HBA. Likewise the patriot 1TB drive is as well. OS in installed in a small m.2 drive.

I am trying to get this sorted and ready to hopefully move my truenas install into a VM under proxmox. But I am trying to trouble shoot the speed issue before I do so.

Your iPerf was a failure for a 1Gbps network.
ServeTheHome forum says the following so I think that is okay


    IBM N2215 SAS/SATA HBA 2x4 HD port internal SAS vertical, no cache, no BBU, JBOD (IT mode only), Optimised for SSDs

You should remove your incorrect system info from the sig as it will only cause confusion. Please post a current listing as you have it set up right now for testing.

Unoptimized you should be hitting ~120MB/s writes while maxing out the 1GbE network. So something is far off. The ryzen should have plenty of horsepower so that shouldn’t be it either.

Are you SURE that the issue is not something as simple as a bad Ethernet cable or auto negotiation issue where you’re only getting fast Ethernet between the switch and the NAS?

I’ve had all sorts of trouble in the past with my NAS and mikrotik gear NOT playing nice at 1GbE. I had to manually set the MikroTik to only run at 1GbE, full duplex, flow control rather than auto-nego same since it consistently failed to do the handshake.

1 Like

I swapped to a different cat 6 cable and I did the test again with everything else off and basically the same. Best i got was about 250Mbits/s.

I actually purchased the HBA from the art of server here.
LSI 9302-8i ServeRAID N2215 12Gbps SAS HBA P16 IT mode for ZFS TrueNAS unRAID | eBay

I have updated my system info.

Also, how do you get the details section to be collapsible? Mine takes up way to much space.

Not sure, I swapped the cable and retested - see above post. I do have a slightly convoluted network setup.

I have 2 TP link x95s. and a switch between the laptop and the server.
Laptop (wireless) → first x95 → (wired 2.5gbps backhaul) → second x95 (configured as main router) → (wired 1gbps) → Netgear GS308 switch → server 1gbe port.

The netgear switch is gigabit and should in theory be able to handle the traffic, but its old and maybe its not working or maybe the weird path above is the issue.

I just ordered a Ubiquiti Networks Flex Mini 2.5G 5-Port Managed Network Switch that is supposed to be here on Thursday. I will swap that in and see if it improves things.

I should also be able to fix the weird route - e.g., it should be able to be:
Laptop (wireless) → first x95 → (wired 2.5gbps backhaul) → Flex Mini 2.5g switch → server 1gbe port.

Because of the vagaries associated even with decent wireless gear, I would eliminate it for testing purposes. Put that laptop on the GS308 and see what happens. Then move successively down the chain of devices and see where the slowdown is.

Like Tesla full self drive, the wireless industry is littered with broken promises. Most WiFi connections only come close to nameplate capacity if you are sitting next to the base station with an unobstructed line of sight - to the antenna on your computer.

The GS308 should be bulletproof - but I have fixed a similar model in the past where the internal aluminum capacitors flaked out with the passage of time. So don’t consider that golden until you test. Good luck!!!

well it turns out it was the “(wired 1gbps) → Netgear GS308 switch” connection. I guess the router could not handle the routing properly.

I now have a 2.5 gb switch that connects the mesh routers, my gaming HTPC, my server, and a 1gb switch for some slower devices.

Thanks to all for the help.

2 Likes