Repository navigation
Extremely laggy to access Windows guests via NoVNC console #4660
Description
Activity
@davidjumani @weizhouapache is this a known issue?
Haven't faced it, @vladimirpetrov have you encountered this ?
I haven't noticed such problem but will test and report back.
@luhaijiao what browser version are you using? Have you tried with different browsers and OS-es?
I deployed Windows 10 VM using 2 cores, 2 GHz and 4 GB virtual resources. Tested with latest Chrome and Firefox on Ubuntu 20.04 and Windows 10 Pro - it's pretty usable, there is a small lag of course - something like a regular VNC connection but nothing severe.
Test environment
Windows 10
Google Chrome: 88.0.4324.190
CloudStack environment
CloudStack 4.15.0.0compute node:
Ubuntu 20.04.01 (kernel Linux nodec 5.4.0-66-generic #74-Ubuntu SMP Wed Jan)libvirt guest vm xml
<domain type='kvm' id='66'> <name>i-2-46-VM</name> <uuid>96c7ec70-f07b-436c-b774-732e2dfb0fa8</uuid> <description>Windows PV</description> <memory unit='KiB'>4194304</memory> <currentMemory unit='KiB'>4194304</currentMemory> <vcpu placement='static'>4</vcpu> <cputune> <shares>1000</shares> </cputune> <resource> <partition>/machine</partition> </resource> <sysinfo type='smbios'> <system> <entry name='manufacturer'>Apache Software Foundation</entry> <entry name='product'>CloudStack KVM Hypervisor</entry> <entry name='uuid'>96c7ec70-f07b-436c-b774-732e2dfb0fa8</entry> </system> </sysinfo> <os> <type arch='x86_64' machine='pc-i440fx-4.2'>hvm</type> <boot dev='cdrom'/> <boot dev='hd'/> <smbios mode='sysinfo'/> </os> <features> <acpi/> <apic/> <pae/> <hyperv> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8096'/> </hyperv> </features> <cpu mode='host-passthrough' check='none'> <topology sockets='1' cores='4' threads='1'/> <feature policy='require' name='vmx'/> </cpu> <clock offset='localtime'> <timer name='hypervclock' present='yes'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='network' device='disk'> <driver name='qemu' type='raw' cache='none'/> <auth username='hyperstor'> <secret type='ceph' uuid='44069041-572d-32b0-abc4-745b97eae508'/> </auth> <source protocol='rbd' name='rbd/21f5ffcd-9a00-4442-afa8-12169086eaaf' index='2'> <host name='10.100.250.11' port='3300'/> <host name='10.100.250.12' port='3300'/> <host name='10.100.250.13' port='3300'/> </source> <target dev='vda' bus='virtio'/> <serial>21f5ffcd9a004442afa8</serial> <alias name='virtio-disk0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu'/> <target dev='hdc' bus='ide'/> <readonly/> <alias name='ide0-1-0'/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> <controller type='ide' index='0'> <alias name='ide'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </controller> <controller type='usb' index='0' model='piix3-uhci'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'> <alias name='pci.0'/> </controller> <interface type='bridge'> <mac address='02:00:7b:1b:00:04'/> <source bridge='brbond1-817'/> <bandwidth> <inbound average='256000' peak='256000'/> <outbound average='256000' peak='256000'/> </bandwidth> <target dev='vnet67'/> <model type='virtio'/> <link state='up'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <interface type='bridge'> <mac address='1e:00:7d:00:00:ed'/> <source bridge='brbond1-1'/> <bandwidth> <inbound average='256000' peak='256000'/> <outbound average='256000' peak='256000'/> </bandwidth> <target dev='vnet68'/> <model type='virtio'/> <link state='up'/> <alias name='net1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </interface> <serial type='pty'> <source path='/dev/pts/37'/> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> <alias name='serial0'/> </serial> <console type='pty' tty='/dev/pts/37'> <source path='/dev/pts/37'/> <target type='serial' port='0'/> <alias name='serial0'/> </console> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/i-2-46-VM.org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <input type='tablet' bus='usb'> <alias name='input0'/> <address type='usb' bus='0' port='1'/> </input> <input type='mouse' bus='ps2'> <alias name='input1'/> </input> <input type='keyboard' bus='ps2'> <alias name='input2'/> </input> <graphics type='vnc' port='5934' autoport='yes' listen='10.226.18.130'> <listen type='address' address='10.226.18.130'/> </graphics> <video> <model type='cirrus' vram='16384' heads='1' primary='yes'/> <alias name='video0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <watchdog model='i6300esb' action='none'> <alias name='watchdog0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </watchdog> <memballoon model='none'/> </devices> <seclabel type='dynamic' model='dac' relabel='yes'> <label>+0:+0</label> <imagelabel>+0:+0</imagelabel> </seclabel> </domain>Guest OS :
Windows Server 2016 Standard
virtio driver: virtio-win-0.1.164.iso( 10.0.14393.1613)
The following drives have been installed
viostor
vioserial
NetKVM
Balloon
guest-agentI compared cloudstack console, novnc and VNC view
There is no difference between VNC view and novnc
However, the delay of cloudstack console is very seriousIt is shown in the following aspects
When moving the mouse, I feel that the mouse is very heavy and difficult to move@div8cn when you say cloudstack console, you mean the old/legacy console or the new novnc console. The CPVM essentially proxies the console between the hypervisor and browser, which may be cause of that latency. Is the user/browser away from the CPVM/infrastructure.
- Console refers to cloudstack new console (novnc)
- The test computer and cloudstack SSVM belong to the same layer-3 routing and different VLANs
@div8cn thanks, how far is the user/browser from the CPVM (for example is CPVM say is in London and user in Australia)? And, does it happen only for Windows, what about any Linux distro with a desktop say Ubuntu Desktop?
The test computer and cloudstack CPVM belong to the same layer-3 routing and different VLANs, Local to CPVM network delay < 5ms
I deployed a Ubuntu 20.04 guest OS
The test effect is also very bad
It's like VMware VM doesn't have a console experience with vmtools installed@div8cn sorry I didn't understand your statement, are you seeing laggy novnc console with Ubuntu 20.04 Desktop as well? And are you saying this is caused by VMs with openvmtools/vmware-tools installed?
4 remaining items
Anyone tested the novnc console of Windows Server VM ? just would like to isolate if it's a pure environment issue of our own.
Anyone tested the novnc console of Windows Server VM ? just would like to isolate if it's a pure environment issue of our own.
@luhaijiao could you record the screenshots of cloudstack novnc console and cloudstack vnc console (novnc.console.default=false) of same vm ?
Ping @luhaijiao any update? Is this still an issue we should be tracking for 4.15.1 or is it an environment issue?
Ok, we will try to record and compare the performance between 'traditional ' vnc and newly implemented novnc console.
Thanks @luhaijiao pl keep us updated.
@luhaijiao We've not heard from you since last few weeks, let us know if you've the issue and how can we produce it. Until then I've kept it outside of any milestone. Thanks.
Closing this as we've not heard any update, @luhaijiao kindly test against 4.15.1.0 and re-open if you've any advice for us to reproduce and help address this. Thanks.
Windows 10 is laggy with Cloudstack 4.18.2.1(linux pretty smooth), Am I missing something. Is anyone else have the same issue
Windows 10 is laggy with Cloudstack 4.18.2.1(linux pretty smooth), Am I missing something. Is anyone else have the same issue
Windows requires more cpu and memory than linux.
also some drivers are missing in Windows, for example virtio.
try- install windows-virtio drivers (for disk and network, etc)
- stop the vm, change OS type of vm to 'Windows PV', then start it.
Hi @weizhouapache , Thanks for the suggestion, I have already installed windows-virtio driver, still mouse laggs ,
-----My Observation-----
The video driver model cirrus & virtio makes the windows mouse laggy, if I change the agent.properties file settings variable vm.video.hardware to "qxl" windows works fine and that makes linux mouse laggy(KVM hypervisor).
ISSUE TYPE
Improvement Request
COMPONENT NAME
NoVNC Console
CLOUDSTACK VERSION
4.15
CONFIGURATION
All
OS / ENVIRONMENT
Ubuntu 20.04
SUMMARY
With Ubuntu 20.04(KVM)+ACS 4.15, we noticed
STEPS TO REPRODUCE
EXPECTED RESULTS
Quick mouse movement and response
ACTUAL RESULTS
Very laggy , significant delay. Poor user expericen.