Poor performance when using NFS share w/ Docker Container

tronbo

Cadet
Joined
Dec 27, 2020
Messages
6
Hello everyone,

I have two servers, both of which Proxmox is the hypervisor. On one machine, I have Truenas virtualized in a VM. On another, I have a Ubuntu VM which hosts a few docker containers. One of the containers is sabnzbd, and I am using an NFS v4.1 share to store usenet downloads on the truenas VM.


Specs (VM):
HDD
: 8x 8TB Seagate Ironwolf (oculink PCIE hardware passthrough)
CPU: 8 cores, AMD Ryzen 7 3700x
RAM: 28GB
NIC: x1 10GLAN Intel X550-AT2 , internal network is capped at 1Gbps :-(

Pool:
8x 8TB 7200RPM disks
raidz2
Size (total): 40,08 tb

Lastly, here is how I am establishing the NFS connection in the docker-compose.yml file:

Code:
volumes:
    media:
        driver: local
        driver_opts:
            type: nfs
            o: nfsvers=4,addr=192.168.1.84,rw,async
            device: ":/mnt/chungus/media"



Initial Tests:


1.
From sabdnzbd container (NFS share v4)
Screenshot 2021-04-27 at 18.57.07.png

It really struggles to go above 40-40MB/s and dips down to 18-20MB/s. It ramps back up, though. I should be getting 90MB/s +


2. From mac (SMB share)
Screenshot 2021-04-26 at 15.44.05.png

Here, you can see that the only bottleneck is my line speed. I'd love to get this performance out of my NFS share.


I'm not sure what other tests I should be making to find where the bottle neck could be coming from? Any advice on where I should start would be much appreciated!

Cheers!
 

Jessep

Patron
Joined
Aug 19, 2018
Messages
379
Is NFS on Proxmox/VM/TrueNAS synchronous or asynchronous transfers?
 

Bern

Cadet
Joined
Dec 29, 2016
Messages
6
My guess would be that you only have 28GB of RAM for a 64TB pool.
 

HoneyBadger

actually does care
Administrator
Moderator
iXsystems
Joined
Feb 6, 2014
Messages
5,112
Is NFS on Proxmox/VM/TrueNAS synchronous or asynchronous transfers?
IIRC the TrueNAS NFS server defaults to synchronous write behavior (which is the "correct" or "expected default") and this would slow things down especially with a RAIDZ backing pool.
 

NugentS

MVP
Joined
Apr 16, 2020
Messages
2,949
try setting sync=disabled and see if that speeds things up by running the same tests again.
WARNING: This setting is considered non data-safe in that if you have a power event / kernel panic you may lose data in flight. However for testing it would likley point at the issue.
 
Top