如何使用 Spice 协议提高性能?

如何使用 Spice 协议提高性能?

因此,我在 Ubuntu 18.04 上的 quemu 下运行了许多虚拟机。除了远程访问虚拟机外,一切都运行正常:连接速度越慢,情况就越糟。在 4K 显示器上运行它们。使用 remmina 或 virt-viewer 没有任何区别。

  • 在本地机器上,一切都接近完美,唯一明显的质量下降是视频全屏。
  • 1gbit LAN:渲染时明显有延迟,即使在小窗口中,视频也会变得模糊
  • 100 mbit LAN/互联网:全屏刷新可能需要几秒钟
  • 20/4 mbit 互联网:当需要全屏刷新时,我可以看到屏幕上呈现的 64x64 方块,这需要几秒钟的时间。滚动编辑器窗口是一项需要耐心的操作。连接没用,但对于最紧急的任务来说,耐心不是问题。即使通过 ssh 进行 X 似乎也是更好的选择。

我将其与 Win10 RDP 进行了比较,通过相同的 20/4 连接,它的行为就像我在有问题的机器上一样,即使是全屏视频也是如此。

所有虚拟机的设置如下:

  • 显示 spice:Spice 服务器,所有内容均为默认设置,无 OpenGL
  • 视频 VirtIO:型号 VirtIO、3D 加速:是、磁头:2、RAM 128MB

我尝试了视频:QXL,但是那个视频完全占用了我的 LAN,即使在 gbit 下也是如此,占用的带宽也非常小(性能不如 VirtIO)。

所以我一直在寻找解决这个问题的方法,但发现没有什么用。但我偶然发现了一些提交到香料大师(很久以前)。据我所知,补丁已合并,因此应该可用,但目前视频支持对我来说显然仍然是 MJPEG。

那么我该如何启用此 gstreamer 支持,以便获得更高级的编解码器,如 VP8 甚至 H264?还是我做错了什么,导致我痛苦?

答案1

这是一个老问题,但如果您设置 SPICE 服务器监听所有接口并以此方式连接而不是 Virt-Viewer,速度会显著提升。Virt-Viewer 通过 SSH 建立隧道,这会增加很多延迟。

一旦设置了 VM 来监听所有接口,您就可以使用以下命令进行远程连接:

remote-viewer spice://remote_ip_address:port

相关内容