kvm-guest-drivers-windows
kvm-guest-drivers-windows copied to clipboard
[viostor] Why does the performance of the viostor driver decrease
During the performance test, we found that 4K random read / write (70% read). The latest version of the driver (100.93.104.24000) is much less effective than the previous version (100.83.104.18700).
-
Guest:win2016 1607
-
187 version:
- 240 verion:
- Through comparison, we found that the performance of the driver started to deteriorate in version 100.83.104.18900;
189 version:
@york-king
There were several changes related to the performance optimization and the maximum transfer size between build 187 and 189. Can you please post the qemu command line and IoMeter config file? And also by any chance, can you please check if there is any performance gap between builds 187 and 189 when testing 2MB block transfer?
Best regards, Vadim.
hi, @vrozenfe
- Here are some test data, and the results show that the 189 version has slightly worse results
| viostor version | Access Specification Name | IOps | MiBps (Binary) | MBps (Decimal) | Average Response Time | Maximum Response Time | Queue Depth |
|---|---|---|---|---|---|---|---|
| 187 | 2M seq 7:3 | 3108.403165 | 6216.80633 | 6518.793914 | 20.585675 | 44.318452 | 64 |
| 189 | 2M seq 7:3 | 2990.892708 | 5981.785416 | 6272.356624 | 21.394941 | 64.518173 | 64 |
| 187 | 4k rand 7:3 | 157117.7947 | 613.741386 | 643.554487 | 0.407103 | 16.148202 | 64 |
| 189 | 4k rand 7:3 | 142701.3418 | 557.427116 | 584.504696 | 0.448277 | 26.656851 | 64 |
| 187 | 8k rand 7:3 | 155963.8894 | 1218.467886 | 1277.656182 | 0.410124 | 32.596539 | 64 |
| 189 | 8k rand 7:3 | 135979.9638 | 1062.343467 | 1113.947864 | 0.470435 | 30.947232 | 64 |
- qemu command line:
/usr/bin/kvm -id 1384900388335 -chardev socket,id=qmp,path=/var/run/qemu-server/1384900388335.qmp,server,nowait -mon chardev=qmp,mode=control -vnc 0.0.0.0:8100,websocket=14500,to=15000 -enable-kvm -pidfile /var/run/qemu-server/1384900388335.pid -name "viostorperftest" -cpu host,hv_spinlocks=0x1fff,hv_relaxed,hv_time,hv_vapic,hv_stimer,hv_synic,hv_vpindex,hv-runtime,+sse4.1,+sse4.2,+x2apic,+pcid,+pdcm,+xtpr,+ht,+ss,+acpi,+ds,migratable=no,+invtsc,-vmx,vendor=GenuineIntel -nodefaults -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x18.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x18 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x18.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x18.0x2 -spice port=0,disable-ticketing,up_port=13999,down_port=13500,os_type=ws1664,jpeg-wan-compression=never,jpeg_quality=85,streaming-video=filter -chardev spicevmc,id=charredir0,name=usbredir -device usb-redir,bus=usb.0,port=1,chardev=charredir0,id=ehci-redir0,bootindex=10 -chardev spicevmc,id=charredir1,name=usbredir -device usb-redir,bus=usb.0,port=2,chardev=charredir1,id=ehci-redir1,bootindex=11 -chardev spicevmc,id=charredir2,name=usbredir -device usb-redir,bus=usb.0,port=3,chardev=charredir2,id=ehci-redir2,bootindex=12 -chardev spicevmc,id=charredir3,name=usbredir -device usb-redir,bus=usb.0,port=4,chardev=charredir3,id=ehci-redir3,bootindex=13 -chardev spicevmc,id=charredir4,name=usbredir -device usb-redir,bus=usb.0,port=5,chardev=charredir4,id=ehci-redir4,bootindex=14 -chardev spicevmc,id=charredir5,name=usbredir -device usb-redir,bus=usb.0,port=6,chardev=charredir5,id=ehci-redir5,bootindex=15 -device nec-usb-xhci,id=xhci,bus=pci.0,addr=0x19.0x0,p2=6,p3=6 -chardev spicevmc,id=charredir6,name=usbredir -device usb-redir,bus=xhci.0,port=1,chardev=charredir6,id=xhci-redir0,bootindex=16 -chardev spicevmc,id=charredir7,name=usbredir -device usb-redir,bus=xhci.0,port=2,chardev=charredir7,id=xhci-redir1,bootindex=17 -chardev spicevmc,id=charredir8,name=usbredir -device usb-redir,bus=xhci.0,port=3,chardev=charredir8,id=xhci-redir2,bootindex=18 -chardev spicevmc,id=charredir9,name=usbredir -device usb-redir,bus=xhci.0,port=4,chardev=charredir9,id=xhci-redir3,bootindex=19 -chardev spicevmc,id=charredir10,name=usbredir -device usb-redir,bus=xhci.0,port=5,chardev=charredir10,id=xhci-redir4,bootindex=20 -chardev spicevmc,id=charredir11,name=usbredir -device usb-redir,bus=xhci.0,port=6,chardev=charredir11,id=xhci-redir5,bootindex=21 -vga qxl -global qxl-vga.ram_size=134217728 -global qxl-vga.vram_size=134217728 -global qxl-vga.vgamem_mb=32 -no-hpet -k en-us -chardev socket,id=chardev_vhostblk0,path=/var/run/vs/vhost/vhost-blk-1384900388335-1376404350-0,reconnect=1,reconnect-retry=10 -chardev socket,id=chardev_vhostblk1,path=/var/run/vs/vhost/vhost-blk-1384900388335-1376404350-1,reconnect=1,reconnect-retry=10 -boot menu=on,splash-time=20000,ostype=windows,reboot-timeout=5000 -smp sockets=1,cores=8 -m 16384 -object memory-backend-file,id=mem-node0,size=16384M,mem-path=/dev/hugepages,share=on,host-nodes=0,policy=preferred -numa node,nodeid=0,memdev=mem-node0,cpus=0-7 -device pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1e -device pci-bridge,id=pci.3,chassis_nr=3,bus=pci.0,addr=0x1f -device pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x6 -usb -device usb-hub,id=reserved_usb_hub,bus=usb-bus.0,port=1 -drive file=/sf/data/7e3a8f8cdf74f2c0b002344bbd23d811/cn_windows_server_2016_x64_dvd_9327743.iso,if=none,id=drive-ide2,media=cdrom -device ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200,serial=1384900388335-2 -device vhost-user-blk-pci,chardev=chardev_vhostblk0,id=vhostblk0,bus=pci.0,addr=0xa,bootindex=100 -device vhost-user-blk-pci,chardev=chardev_vhostblk1,id=vhostblk1,bus=pci.0,addr=0xb -netdev type=tap,id=net0,ifname=138490038833500 -device e1000,romfile=,mac=FE:FC:FE:BA:B0:EC,netdev=net0,bus=pci.0,addr=0x12,id=net0 -rtc driftfix=slew,clock=rt,base=localtime -global kvm-pit.lost_tick_policy=discard -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -chardev socket,path=/var/run/qemu-server/1384900388335.virtser,server,nowait,id=channelser -device virtio-serial,max_ports=2,ioeventfd=off -device virtserialport,chardev=channelser,name=channelser.virtserial0.0 -machine mem-merge=off -machine smm=off -uuid dff9444f-ab69-4211-b23b-e4c66c0b7a64 -smbios type=1,manufacturer=sangfor,product=acloud,version=1,serial=DFF9444F00 -smbios type=2,manufacturer=sangfor,product=acloud,version=1,serial=1384900388335 -cmdline-version vmx-3.14 -bios /sf/share/kvm/bios.bin -post 1384900388335
- iometer.icf
Best regards, York
@york-king
Thanks a lot. Let me ask QE to reproduce the issue.
Best, Vadim.