0
I found unexplained difference between running CetOS 7.1 and Debian 8.3 on Hyper-V 2012 R2. I create similar VM on similar hardware. Both virtual machines installed on 600 GB SAS 15K in RAID0 via Adaptec RAID ASR-580 256 MB cache. So the hdparm -tT /dev/sda on Debian 8.3 which gives me results from 255 MB/s to 380 MB/s, while CentOS gives me results from 412 MB/s to 1300 MB/s. I know this is controller's cache values having nothing common with real speed, but CentOS works significantly faster, especial when I run rsync 190 GB of 3,8 millions of files. The only difference I'm aware is that CentOS uses specially supplied integration services tools from Microsoft for Hyper-v called "lis 4-0-11" while Debian pretend to have built-in Hyper-V support. Please help me to understand, maybe it is useless to find any solution and to get the same IO speed on Debian while virtualizing it on hyper-v.
What do you mean by
The only difference I'm aware is that CentOS uses specially supplied lis 4-0-11 while Debian pretend to have built-in Hyper-V support.
? – Tom Yan – 2016-04-18T16:52:14.893Linux Integration Services Version 4.0 for Hyper-V currently not for Debian 8 – sergioxii – 2016-04-18T20:38:28.497
No idea about how you rsync'd but are you aware that the test
– Tom Yan – 2016-04-18T23:34:04.127hdparm -t
does is sequential read test? If it's used on dynamically expanding VHDX the speed would vastly differ depending on whether the beginning of the disk/partition (depends on what you run on) is empty. See my tests here. Whilehdparm -T
reads from the Linux buffer cache (RAM) so the speed remains consistent.Btw it's not really precise to say that Debian (and other distros) pretend to have built-in Hyper-V support. The supports get into upstream kernel all the time. Though LIS could still make a difference for distros that use older kernels (3.x), since AFAIK it "updates" the kernel modules (as well as bringing you some userspace utilities). – Tom Yan – 2016-04-18T23:49:31.093
So, correct me if I'm wrong, native linux kernel/distro support of Hyper-V is not so much different from LIS ? No performance difference ? – sergioxii – 2016-04-19T06:01:12.847
This repository tracks the development effort to enhance downloadable LIS drivers for older distributions. While the best set of Hyper-V integration components are always available in the upstream Linux kernel, from time to time we will backport the features in most demand for older distributions. This repository will contain the source code for all such backports.
– Tom Yan – 2016-04-19T09:10:58.773Take
– Tom Yan – 2016-04-19T09:21:28.353hv_storvsc
in LIS 4.0.11 as an example. According to the commit message, the driver in LIS is pretty much in sync to that in kernel v4.2, while the "vanilla" v3.16.7 (that debian 8 is on) is this; As you can see, it consists of much fewer fixes/enhancement.I see, thank you. That makes picture clear. Is any chance to get LIS 4.x.x for Debian 8 ? – sergioxii – 2016-04-21T14:40:47.230
I've tried Ubuntu 16.04 with 4.4 Krtnel, same story. slow as Debian 8.4. – sergioxii – 2016-04-22T19:35:01.970
No idea. You haven't been really precise/clear about the conditions you are testing on (so I can't tell at all whether you are performing fair tests). So far I don't see such difference among different distros myself. – Tom Yan – 2016-04-23T00:33:18.313
hdparm -tT /dev/sda - CentOS 7.1 = 667 MB/s, Ubuntu 16.04/Debian 8.4 = 97 (sometimes) 123 MB/s. VHDx files of these VMs are on the same RAID0 15K SAS drive. As for rsync CentOS 7.1 = avarage speed of 190 GB of 3,8 millions of files shows 27 MB/s, for Ubuntu 16.04/Debian 8.4 = 9.97 MB/s. – sergioxii – 2016-04-25T05:52:51.620
Were the tests done on a single fixed-size VHDX? Avoid testing with a VHDX per VM (and hence avoid testing with the "system" VHDX of each VM). – Tom Yan – 2016-04-25T08:33:12.430
Fixed size 300GB VHDX. yes, The system is on separate VHDX. I could end up with CentOS 7.1 + LIS 4.0.11 and live my happy life, but I can't install "nginx-extras" on this distro from official repo. So I'm kind of stuck with this huge difference with IO in both distros. And to be honest I didn't find anywhere suitable discussion of this problem. I wonder already is the same this happen with ESXi 6. But this virtualization method is not suitable for this project. – sergioxii – 2016-04-25T16:14:58.420