Very slow read and write speeds at smb share

Dear Forum,

Since I have not found a viable solution on the internet so far, I am trying my luck here. Briefly about my setup:

Hardware:

  • Ryzen 4 Pro 4650G
  • 32 GB ECC RAM
    
  • Asus ROG Strix X570 Gaming
    
  • 2 x 16TB Seagate Exos X18
    

Firmware:

  • Proxmox, and inside Proxmox, I have a TrueNAS Scale VM with a SATA Controller PCIe Passthrough.
    

Now to the problem. Initially, whether on SMB shares on the Mac or Windows PC, and whether over LAN or WLAN, I always get write speeds of 80-90MB/s for a few seconds, but then it drops to a maximum of 17MB/s. My two hard drives are in a mirrored pool, so they shouldn’t be the problem… The VM has 16 GB of RAM and more than enough cores, so it never reaches maximum utilization.

What I’ve already tried:

  • Reinstalled the VM.
    
  • Used different SATA cables.
    
  • Changed the LAN cable.
    

I am asking for help because I am really at a loss!

As a diagnosis method, in the properties for your SMB shared dataset, try setting sync to disabled.

Then try your copy again.

Does it improve the speed?

(Put it back afterwards)

How full is your pool?

1 Like

Board has I-211 Intel Gigabit ethernet, which is an okay card, but it’s not a server card. This is an old guide, but I used to use it alot

As a point of comparison, the Intel i350 is a $20+ IC that can be used in single, dual and quad port configurations (e.g. i350-t4). Intel released a lower cost i340 part that we generally suggest sticking with the i350 over the lower numbered parts. The Intel i210 is low single digit dollars in terms of cost and is a lower feature set 1GbE single port controller. We strongly suggest i350 or i210 based NICs. The Intel i211 is a reduced feature set of the i210 controller.
Top Picks for FreeNAS NICs (Networking) (servethehome.com)

I’d expect your problems would improve with a better card, or better yet, if you PCI-E pass through a NIC to TrueNAS.

Intel® Ethernet Converged Network Adapter X540-T2

These are pretty good, and do both gigabit and ten gigabit.

So I am using SMB on my new TueNas Scale Dragon fish version of software.

my transfer speed from PC to Super Micro server is a terrible 25-29MB/s…
I can Transfer same video files to my Synology around 280MB/s -From Same PC
If i use NFS from my dell r720 the speeds are more respectable 220ish to the Super Micro server.

I cant find any help or why the Write speed is so slow on the SMB service.

For some reference the Super Micro has Dual E5-2620, 32Gb ram, Hard drives is x36 Dell EMC 8TB drives - From what i gather they are WD drives… 4 x RaidZ2 9 Wide, Have 2 Intel 1.92TB DC SSD in mirror for Write cache, triple mirror Meta Data Intel 1.92TB DC SSD… before i put the SSD drives in write speed’s were the same.
For the network the Super Micro is using Intel Dual SFP nic connected to 10Gbit fiber, other servers and PC’s connected only to 2.5Gbit nic’s. With 10Gbit uplinks.

I have basically the same issue with the two Supermicro systems in my sig. For a few minutes they are fast then SMB slows to a crawl for no apparent reason especially if I’m moving lots of data around. I have noticed the smb transfers work as batches which I find strange. Transfer a block, then wait 3-5 seconds, repeat until the transfer is done sometime in the next week.
I can transfer the same data source to a QNAP from the same source Win 11 computer, same network, much faster. Wife also complains about the slow transfer speed from her Win 10 computer.

I have always had this issue with the two Supermicro servers with Scale When I was on an old Core install it worked much faster with the same equipment. My thought (without any real proof) was it is a Supermicro issue with how they internally operate the backplane.

But i can transfer from the synology to the Super Micro server, much faster. settles in around 200-240MB/s

For my usage of mainly long term storage speed is not really a factor. So it it works okay, I’m generally happy. Not to say I haven’t noticed some possible problem areas. I have.

Kinda what I was alluding to. I can transfer from laptop (I9/96MB/m2 drives - no slouch) to Supermicro and it’s slow Transfer from Laptop to QNAP it’s much faster. Transfer from QNAP to Supermicro it’s slow. Desktop (happens to be a Supermicro X10) is slow. Transfer from Supermicro to Supermicro server it’s again slow. Network being the same for all. Only thing in common with the slowness is Supermicro and/or Scale.

Sync is disabled on the pools so that should in theory should allow faster speeds.

I use Z2 as the pool type which is average in speed. I don’t blame Scale necessarily, but the Supermicro Scale systems are the only ones that I see the 3-5 second pauses during the transfer. You can also see it in the activity lights of the server where all drives that make up the pool flash, then pause for 3 -5 seconds, then al flash again. Like something is filling some buffer then flushing it to disk when full. This could be anything I guess in the Supermicro or in the software (Scale) that runs on them.

In short i am hoping for some help cause 25MB/s using SMB from a windows PC feels very unacceptable. Thus i was hoping for some help on it.
As for the same devices i can pull the files back to PC at 280MB/s.

As a note the pool as just made a couple days ago, so not even used yet really.

So it is the next day and i reloaded the TrueNas Software and well. It is worse now, holding 17MB/s

I just did this and my speeds improved by more than a houndred times.
What does that tell me?
Whats the next step?

Means you would benefit from adding a good SLOG device to your pool.

A good SLOG device is not just any SSD, but an SSD which has high small block sync write performance, which typically means either Optane (which is not made anymore) or high endurance NAND NVMe SSDs with Power Loss Protection (PLP)

The SLOG device is used to Separately Log the Sync writes which are being made to your SMB dataset.