NFS and low speed

un1x0d

Renowned Member
Mar 14, 2012
26
4
68
Hello.

I have a Proxmox host and storage.

Proxmox host
Supermicro chassis
Intel Xeon E3-1220 v3
32 Gb RAM
root@vm1:~# pveversion -v
proxmox-ve: 4.1-26 (running kernel: 4.2.6-1-pve)
pve-manager: 4.1-1 (running version: 4.1-1/2f9650d4)
pve-kernel-4.2.6-1-pve: 4.2.6-26
lvm2: 2.02.116-pve2
corosync-pve: 2.3.5-2
libqb0: 0.17.2-1
pve-cluster: 4.0-29
qemu-server: 4.0-41
pve-firmware: 1.1-7
libpve-common-perl: 4.0-41
libpve-access-control: 4.0-10
libpve-storage-perl: 4.0-38
pve-libspice-server1: 0.12.5-2
vncterm: 1.2-1
pve-qemu-kvm: 2.4-17
pve-container: 1.0-32
pve-firewall: 2.0-14
pve-ha-manager: 1.0-14
ksm-control-daemon: 1.2-1
glusterfs-client: 3.5.2-2+deb8u1
lxc-pve: 1.1.5-5
lxcfs: 0.13-pve1
cgmanager: 0.39-pve1
criu: 1.6.0-1
zfsutils: 0.6.5-pve6~jessie

Storage host
Supermicro chassis
Intel Core i3-4170
Hardware RAID 8 disks: RAID 10 (6 disk) + 2 Hotspare
8 Gb RAM

Virtual machine
Windows 7 32-bit
VirtIO disk (driver version 0.1.102/0.1.113)
DIsk cache = None

Export NFS options
(rw,no_root_squash,sec=sys,rw,no_root_squash,no_all_squash)

I connected storage on PVE with NSF (1 Gigabit) and can not get a record speed of more than 40 MB/s within the virtual machine. But getting a full opportunity to record the speed of the host console.

After switching from NSFv3 to NSFv4 speed has risen slightly, but still small.

Speed on storage
root@ds1:~# dd if=/dev/zero of=/testfile.bin bs=256k count=20480
20480+0 records in
20480+0 records out
5368709120 bytes (5.4 GB) copied, 13.3617 s, 402 MB/s

Speed on pve host
root@vm1:~# dd if=/dev/zero of=/mnt/pve/ds1/testfile.bin bs=256k count=20480
20480+0 records in
20480+0 records out
5368709120 bytes (5.4 GB) copied, 48.0458 s, 112 MB/s (~ 1Gigabit)

Speed in virtual machine

h_1457163420_3757181_561b0d0615.png




Why write speed is low within a virtual machine? After all, the PVE host writes at a speed of 3 times.
 
You need to use the same benchmark tools if you want to compare things. And 'dd' is not a suitable benchmark tool at all. You do not even sync data, so you basically copy your data into RAM. Writing zero is usually also a bad idea for benchmarking...
 
  • Like
Reactions: sdinet