Как можно улучшить производительность с помощью протокола Spice?

Как можно улучшить производительность с помощью протокола Spice?

Итак, у меня есть несколько виртуальных машин, работающих под quemu на Ubuntu 18.04. Все работает отлично, за исключением удаленного доступа к виртуальным машинам: чем медленнее соединение, тем хуже становится. Запуск их на 4K-мониторе. Использование remmina или virt-viewer не имеет значения.

  • на локальной машине все почти идеально, единственное заметное ухудшение качества — это видео на весь экран.
  • 1 Гбит LAN: заметные задержки при рендеринге, видео становится зернистым даже в маленьком окне
  • 100 Мбит LAN / интернет: полное обновление экрана может занять пару секунд
  • Интернет 20/4 Мбит: когда требуется полное обновление экрана, я могу наблюдать, как на экране отрисовываются квадраты 64x64, и это занимает несколько секунд. Прокрутка окна редактора — операция, требующая терпения. Подключение бесполезно, но для самых срочных задач, где терпение не проблема. Даже X через ssh кажется здесь лучшим вариантом.

Я сравниваю это с Win10 RDP, который — при том же соединении 20/4 — ведет себя так, как будто я нахожусь за рассматриваемой машиной, даже для полноэкранного видео.

Все виртуальные машины настроены следующим образом:

  • Отображение spice: сервер Spice со всеми настройками по умолчанию, без OpenGL
  • Видео VirtIO: модель VirtIO, 3D ускорение: есть, головки:2, ОЗУ 128 МБ

Я попробовал видео: QXL, но оно полностью загрузило мою локальную сеть, даже на скорости в 1 Гбит/с, выдавая мало для занятой полосы пропускания (оно было менее производительным, чем VirtIO).

Итак, я искал решение этой проблемы, не найдя ничего важного. Но я наткнулся на некоторые коммиты вмастер специй(довольно давно). Насколько я могу судить, патч был объединен, так что это должно быть доступно, но поддержка видео в настоящее время для меня явно по-прежнему MJPEG.

Так как мне включить эту поддержку gstreamer, чтобы получить более продвинутый кодек, например VP8 или даже H264? Или я делаю что-то не так и это то, что доставляет мне боль?

решение1

Это старый вопрос, но есть существенное увеличение скорости, если вы настроите свой сервер SPICE на прослушивание всех интерфейсов и подключитесь таким образом вместо Virt-Viewer. Virt-Viewer туннелирует через SSH, что добавляет большую задержку.

После настройки виртуальной машины на прослушивание всех интерфейсов вы можете подключиться удаленно с помощью:

remote-viewer spice://remote_ip_address:port

Связанный контент