云桌面(VDI)spice协议优化的关键技术——外设篇

    spice协议原生的USB外设重定向支持已经相当优秀,相比usbip对复合型设备兼容性更好。对于热插拔的支持有两种机制-gudev和libusb。从1.0.16开始libusb支持hotplug事件侦听,可以使用接口libusb_hotplug_register_callback注册插拔回调,从而不依赖于udev,这在不支持udev的某些嵌入式Linux内核平台上更适用。

    一. 提高USB重定向传输速度

    用3.0总线替代2.0和1.1总线,需要qemu 2.9.0以上,-device nec-usb-xhci会在虚拟机设备管理器中出现新的通用串行总线,驱动可以使用renesas通用3.0驱动,注意不要与2.0或1.1总线并存,且去掉-usb参数。usb-hub的注册属性中增加3.0对应的MASK_SUPER,当用于重定向传输的字符设备小于等于3个时只有Root Hub,超过则会生成新的Hub。同时开启usb通道的lz4压缩有助于进一步提高传输速度。多线程下达到20MB/S以上的传输速度并不难(注意usbredir并非线程安全,某些接口需要加锁),由于usb重定向的传输速度还与cpu主频、存储和usb设备的IO性能、网络带宽等相关,具体场景下提高多少还需实测,由于某些ARM终端还是百兆网口,软件的优化已经不再是瓶颈。上述所指均为bulk传输机制下,如果在同步传输机制下,传输速度还会大幅提高,但可能有一定误码率,这时制约因素更多的是网络带宽。

    二. 精确过滤键鼠设备

  • 7
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值