-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Slow throughput coupled with high system cpu time in KVM guests accessing host nfs share #12
Comments
I have created a SmartOS installation on the other physical linux server, it does not support KVM (no EPT support, Q6600 CPU). I exported some content from the zones filesystem via zfs set sharenfs as before. I mounted this export in one of the KVM VMs used above. The two SmartOS hosts are connected via gigE. Repeated the test: [root@nexus-centos stuff]# dd if=file.mkv of=/dev/null bs=4096k 154+1 records in 154+1 records out 647099382 bytes (647 MB) copied, 14.1884 s, 45.6 MB/s This problem appears to be limited to access between guest and host. |
Please let me know if there's any other information you need or anything else you need me to try. |
I forgot the accompanying vmstat on the KVM guest doing the transfer (in this case from another physical SmartOS host): procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 6024 23580 414536 0 0 0 0 14 23 0 0 100 0 0 0 0 0 6024 23580 414536 0 0 0 0 52 145 1 2 97 0 0 0 1 0 6216 23580 412936 0 0 0 40 322 78 0 1 88 11 0 0 1 0 6944 23580 408944 0 0 0 0 6999 233 0 22 0 78 0 0 1 0 6876 23580 409132 0 0 0 0 5542 161 0 8 0 92 0 0 1 0 7792 23580 408708 0 0 0 0 7411 179 0 14 0 86 0 0 1 0 6760 23580 408876 0 0 0 0 4419 157 0 7 0 93 0 3 0 0 4800 23572 402156 0 0 0 0 4746 161 0 13 0 87 0 0 1 0 6768 23572 409200 0 0 0 0 3396 105 0 10 0 90 0 0 1 0 7244 23572 408800 0 0 0 0 5014 146 0 5 0 95 0 0 1 0 6824 23572 409080 0 0 0 0 5125 163 0 8 0 92 0 0 1 0 6864 23172 409268 0 0 0 0 5799 174 0 12 0 88 0 0 1 0 6592 23172 409588 0 0 0 0 5646 160 0 11 0 89 0 0 1 0 7120 23172 409520 0 0 0 0 5413 149 0 4 0 96 0 |
On a Solaris 10 KVM reading from a Solaris 10 KVM NFS server, reads with the mount option "proto=tcp" are okay, with the throughput between the server and the client being roughly ~40 MB/s (Solaris 10 bare metal NFS server to SmartOS hypervisor NFS client observed at ~340 MB/s, peaking at 539 MB/s, so there is an almost ninefold performance penalty in reads). Writes to the NFS server using bg,hard,intr,vers=[2-4],proto=tcp mount options write out exactly 2580 bytes, followed by a hang, whereby the shell stops reacting to SIGINT or SIGTSTP. Work-around for Solaris 10 KVM's is to mount with "proto=udp". Performance as measured between the aforementioned KVM's falls down to 2-5 MB/s. |
Scenario:
SmartOS nfs exports /zones/content
Linux (CentOS6/Ubuntu 12.04/Fedora14) KVM guests (running on the same physical server as the SmartOS host) are mounting this share over nfs. I tried to normalize options:
to keep things consistent.
Throughput is extremely slow:
coupled with high system cpu both in host & guest, here's an example from the ubuntu guest (1 vcpu):
and from the centos guest (2 vcpus):
When I mount the same nfs share on a separate dedicated physical linux host (fedora 18) connected to the SmartOS host via gigE, I get significantly better results:
just as a sanity check on the SmartOS host itself:
I will try to repeat this test using guests running under a separate physical SmartOS host.
The text was updated successfully, but these errors were encountered: