如何使用 Spice 協定提高效能?

如何使用 Spice 協定提高效能?

所以我有很多虛擬機器在 Ubuntu 18.04 上的 quemu 下運作。除了遠端存取虛擬機器之外,一切正常:連線速度越慢,情況就越糟。在 4K 顯示器上運行它們。使用 remmina 或 virt-viewer 沒有什麼區別。

  • 在本地電腦上,一切都近乎完美,唯一明顯的品質下降是視訊全螢幕。
  • 1gbit LAN:渲染內容明顯延遲,即使在小視窗中影片也會變得顆粒狀
  • 100 Mbit LAN/互聯網:全螢幕刷新可能需要幾秒鐘
  • 20/4 Mbit 網路:當需要全螢幕刷新時,我可以觀察到 64x64 的方塊在螢幕上渲染,這需要幾秒鐘的時間。捲動編輯器視窗是一項需要耐心的操作。連接毫無用處,但對於最緊急的任務來說,耐心不是問題。即使是 X over ssh 似乎也是更好的選擇。

我將此與 Win10 RDP 進行比較,後者在相同的 20/4 連接上表現得就像我在有問題的機器上一樣,即使是全螢幕視訊也是如此。

VM 的設定如下:

  • 顯示香料:香料伺服器,一切都默認,沒有OpenGL
  • 視訊 VirtIO:型號 VirtIO,3D 加速:是,磁頭:2,RAM 128MB

我嘗試了視訊:QXL,但該視訊完全佔用了我的 LAN,即使是千兆位,也幾乎無法提供所佔用的頻寬(它的效能低於 VirtIO)。

所以我一直在尋找這個問題的解決方案,但發現沒什麼意義。但我確實偶然發現了一些提交香料大師(很久以前)。據我所知,補丁已合併,因此應該可用,但視頻支援目前對我來說顯然仍然是 MJPEG。

那麼如何啟用 gstreamer 支持,為我提供更高級的編解碼器,例如 VP8 甚至 H264?或者我做錯了什麼,這就是帶給我痛苦的原因?

答案1

這是一個舊問題,但如果您將 SPICE 伺服器設定為偵聽所有介面並以這種方式而不是 Virt-Viewer 進行連接,則會顯著提高速度。 Virt-Viewer 透過 SSH 建立隧道,這會增加大量延遲。

將虛擬機器設定為偵聽所有介面後,您可以使用以下命令進行遠端連線:

remote-viewer spice://remote_ip_address:port

相關內容