Windows Server 2016 slow disc performance

Hello,

I’m writing because we don’t know to improve the read/write IO for our Windows Server 2012 and 2016 virtualization. Here you can find our 2016 VM template.

CONTEXT = [
NETWORK = “YES”,
CPU = “1”
DISK = [
CACHE = “writeback”,
DEV_PREFIX = “vd”,
DRIVER = “raw”,
IMAGE = “Windows 2016 DC”,
IMAGE_UNAME = “XXX”,
IO = “threads”,
TARGET = “vd”,
FEATURES = [
ACPI = “yes”,
APIC = “yes”,
LOCALTIME = “yes” ]
GRAPHICS = [
KEYMAP = “de”,
LISTEN = “0.0.0.0”,
TYPE = “VNC” ]
HYPERVISOR = “kvm”
INPUT = [
BUS = “usb”,
TYPE = “tablet” ]
INPUTS_ORDER = “”
LOGO = “images/logos/windows8.png”
MEMORY = “8192”
MEMORY_UNIT_COST = “MB”
NIC_DEFAULT = [
MODEL = “virtio” ]
OS = [
ARCH = “x86_64”,
BOOT = “” ]
RAW = [
DATA = “”,
TYPE = “kvm” ]
VCPU = “2”

And this is our IO result:

500MB file; (read/write ratio: 70/30), 4 threads per file:

Total IO
thread | bytes | I/Os | MB/s | I/O per s | AvgLat | LatStdDev | file

 0 |       165593088 |        20214 |       2.63 |     336.81 |    5.976 |    11.214 | c:\io.dat (500MB)
 1 |       166723584 |        20352 |       2.65 |     339.11 |    5.933 |    11.010 | c:\io.dat (500MB)
 2 |       168075264 |        20517 |       2.67 |     341.86 |    5.888 |    11.086 | c:\io.dat (500MB)
 3 |       169000960 |        20630 |       2.69 |     343.74 |    5.853 |    11.054 | c:\io.dat (500MB)

total: 669392896 | 81713 | 10.64 | 1361.53 | 5.912 | 11.091

Read IO
thread | bytes | I/Os | MB/s | I/O per s | AvgLat | LatStdDev | file

 0 |       115359744 |        14082 |       1.83 |     234.64 |    3.284 |     5.202 | c:\io.dat (500MB)
 1 |       115916800 |        14150 |       1.84 |     235.77 |    3.220 |     5.151 | c:\io.dat (500MB)
 2 |       118136832 |        14421 |       1.88 |     240.29 |    3.322 |     8.340 | c:\io.dat (500MB)
 3 |       117972992 |        14401 |       1.87 |     239.95 |    3.175 |     5.007 | c:\io.dat (500MB)

total: 467386368 | 57054 | 7.43 | 950.65 | 3.250 | 6.097

Write IO
thread | bytes | I/Os | MB/s | I/O per s | AvgLat | LatStdDev | file

 0 |        50233344 |         6132 |       0.80 |     102.17 |   12.161 |    17.248 | c:\io.dat (500MB)
 1 |        50806784 |         6202 |       0.81 |     103.34 |   12.123 |    16.797 | c:\io.dat (500MB)
 2 |        49938432 |         6096 |       0.79 |     101.57 |   11.959 |    14.025 | c:\io.dat (500MB)
 3 |        51027968 |         6229 |       0.81 |     103.79 |   12.045 |    17.081 | c:\io.dat (500MB)

total: 202006528 | 24659 | 3.21 | 410.88 | 12.072 | 16.349

with Centos or Debian we have no problems with write and read speed.

write: io=1674.9MB, bw=14291KB/s, iops=3572, runt=120008msec

We are running a Ceph storage beneath and tried different VM Storage Options, Virtio, SCSI, different Caching settings and so on. Using the actual VirtIO driver. 0.1.141

Is there someone with a solution on this topic?

Thanks in advanced!

Hello,

Hello Anton,

thanks for your fast reply. Sorry but could you please explain how we can activate virtio-blk data plane and how we can use the qemu-kvm-ev? :S

Hello Florian,
If you use CentOS 7, add Ovirt repo and yum update qemu-kvm-ev -y, then delete repo.

thanks! Whats about the virtio-blk driver? When I’m installation Windows there is only the Virtio SCSI driver.

Thanks in advanced!

I don’t use virtio-blk

we installed the new qemu but we have no improvement

Total IO
thread | bytes | I/Os | MB/s | I/O per s | file

0 |        11005952 |         2687 |       0.70 |     178.95 | C:\iotest.dat (1024MB)
1 |        10706944 |         2614 |       0.68 |     174.09 | C:\iotest.dat (1024MB)
2 |        12107776 |         2956 |       0.77 |     196.86 | C:\iotest.dat (1024MB)
3 |        10100736 |         2466 |       0.64 |     164.23 | C:\iotest.dat (1024MB)
4 |        10924032 |         2667 |       0.69 |     177.62 | C:\iotest.dat (1024MB)
5 |        10747904 |         2624 |       0.68 |     174.75 | C:\iotest.dat (1024MB)
6 |        11137024 |         2719 |       0.71 |     181.08 | C:\iotest.dat (1024MB)
7 |        10502144 |         2564 |       0.67 |     170.76 | C:\iotest.dat (1024MB)

total: 87232512 | 21297 | 5.54 | 1418.34

Read IO
thread | bytes | I/Os | MB/s | I/O per s | file

0 |         7565312 |         1847 |       0.48 |     123.01 | C:\iotest.dat (1024MB)
1 |         7532544 |         1839 |       0.48 |     122.47 | C:\iotest.dat (1024MB)
2 |         8568832 |         2092 |       0.54 |     139.32 | C:\iotest.dat (1024MB)
3 |         6926336 |         1691 |       0.44 |     112.62 | C:\iotest.dat (1024MB)
4 |         7495680 |         1830 |       0.48 |     121.87 | C:\iotest.dat (1024MB)
5 |         7589888 |         1853 |       0.48 |     123.41 | C:\iotest.dat (1024MB)
6 |         7667712 |         1872 |       0.49 |     124.67 | C:\iotest.dat (1024MB)
7 |         7352320 |         1795 |       0.47 |     119.54 | C:\iotest.dat (1024MB)

total: 60698624 | 14819 | 3.86 | 986.92

Write IO
thread | bytes | I/Os | MB/s | I/O per s | file

0 |         3440640 |          840 |       0.22 |      55.94 | C:\iotest.dat (1024MB)
1 |         3174400 |          775 |       0.20 |      51.61 | C:\iotest.dat (1024MB)
2 |         3538944 |          864 |       0.22 |      57.54 | C:\iotest.dat (1024MB)
3 |         3174400 |          775 |       0.20 |      51.61 | C:\iotest.dat (1024MB)
4 |         3428352 |          837 |       0.22 |      55.74 | C:\iotest.dat (1024MB)
5 |         3158016 |          771 |       0.20 |      51.35 | C:\iotest.dat (1024MB)
6 |         3469312 |          847 |       0.22 |      56.41 | C:\iotest.dat (1024MB)
7 |         3149824 |          769 |       0.20 |      51.21 | C:\iotest.dat (1024MB)

total: 26533888 | 6478 | 1.69 | 431.42

Did you install virtio driver in your Windows ? Do a google search on “virtio driver windows” it’s somewhere hosted on Fedora/RedHat web site. They provide an ISO file. (Sorry I don’t use windows, can’t help more)

Hi,

Could you share the diskspd arguments or which VMFleet template(PowerShell script) is used to run the tests?

There are possible optimizations that I would like to test first.

Best Regards,
Anton Todorov

Hello,

we have installed the virtio-blk driver and the performance is increased massive! Thanks for your support and help!

Which you happy Xmas