Strange Samba behavior in Windows Applications

windows
samba
fileshares

#1

Hi,

Setup

Hypervisor Proxmox 5.0 with NFS Server
UCS 4.2 with NFS Mounts to its Hosts Shares
Sharing the NFS to SMB

If Windows is copying a large File i´ll get 80MB/sec in both Directions

The same Client running a Windows App getting the same file is getting only 3MB/sec

So I did another Samba Share directly on Proxmox VE that works fine.
Also a File stored directly in UCS is working fine.

Any Ideas welcome:slight_smile:
Chriz


#2

Hey,

let me ask a couple of questions as I’m not sure I understand your setup correctly:

  1. You have a UCS virutal machine that runs inside a Proxmox host?
  2. Is UCS running in a full virtual machine or in an LXC container?
  3. The Proxmox hypervisor is serving a local directory via NFS, and the UCS VM inside the same hypervisor mounts that share via NFS?
  4. That mounted NFS share is then served by the Samba server in the UCS VM?

Assuming I’ve understood this setup correctly, here are a couple more questions that may shed some light on the issue itself:

  1. If UCS is running in an LXC container: why do you use NFS and not a bind mount?
  2. What is that “Windows App” you’re talking about?
  3. What are the mount options used to mount the NFS share (e.g. paste the line from /etc/fstab or the mount command if mounting manually)?

Kind regards,
mosu


#3

Thanks Moritz for all the support at first

Yes UCS is virtuall Machine, not Container
Proxmox is serving NFS because of ZFS Advantages

exports

/rpool/data/vm-200-archiv 192.168.115.251(rw,sync)
/rpool/data/vm-200-files 192.168.115.251(rw,async)
/rpool/data/vm-200-bh 192.168.115.251(rw,sync)
/rpool/data/vm-200-transfer 192.168.115.251(rw,sync)#

fstab

192.168.115.252:/rpool/data/vm-200-files /mnt/Daten nfs rsize=8192,wsize=8192,timeo=14,intr
192.168.115.252:/rpool/data/vm-200-bh /mnt/Buchhaltung nfs rsize=8192,wsize=8192,timeo=14,intr
192.168.115.252:/rpool/data/vm-200-archiv /mnt/Archiv nfs rsize=8192,wsize=8192,timeo=14,intr
192.168.115.252:/rpool/data/vm-200-transfer /mnt/Transfer nfs rsize=8192,wsize=8192,timeo=14,intr

The bad Performance only occurs if a Windows Application is opening the same File

Good Performance i have at

SMB shared Files via UCS stored in virtual Disk
SMB shared File via UCS stored on Proxmox via NFS
SMB shared File via Proxmox stored on ZFS Dataset

So I don´t have an idea why the Performance is so pure if not Explorer is accessing the File.

Any Idea would be welcome

It simply makes sense to store the Files in ZFS, not virtual Disk on ZFS


#4

Oh, I’m not doubting the need to store stuff directly on the host. That can make sense in a lot of scenarios. For full VMs you can only use NFS, that’s true, but for LXC containers bind mounting would give better performance and fewer problems — hence me asking about the VM type.

Can you please also show the output of grep /mnt/Daten /proc/mounts from the UCS server? I want to see the actual mount options used.

Unfortunately there’s not a lot to tune in NFS. You could try using TCP instead of UDP, e.g. reduce the mount options to tcp,timeo=14,intr.

Which Windows application emits the problem? Are there other Windows applications that don’t show such behavior? It sounds like many but small reads vs. few but big reads (how file copying is normally implemented).