我已经创建了一个具有以下规格的 Azure 虚拟机:
- Ubuntu 18.04 LTS
- F16s_v2 标准(16 vCPU 和 32 GiB RAM)
- SSD 单元
由于我需要通过远程桌面连接,因此我遵循本指南安装 xfce 和 xrdp。完成后,我使用 Microsoft 远程桌面连接到服务器,但我发现交互速度非常慢。我不认为问题出在我的互联网连接上,因为:
- 通过连接到其他 Azure Windows VM,我没有遇到同样的问题;
- 我请一位同事在家里做一个测试,他也遇到了同样的问题;
可能是什么问题呢?
答案1
我正在使用带有 KDE 的 xrdp,这些合成器设置似乎有很大帮助:
scale method: crisp
rendering backend: OpenGL 2.0
Tearing prevention: Only when cheap
Keep window thumbnail: never
Allow options to block composting: yes
编辑:为了清晰起见,更新一下,这些值位于 KDE 的设置管理器中Desktop Effects -> Compositor
。它们不是特定于客户端的。示例是修改服务器的桌面环境设置以“简化”它们。
由于 XRDP 通过 RDP 协议将服务器的桌面传送到您的客户端,因此如果 XRDP 要发送的数据较少,则远程桌面的响应速度会更快。
有一个关于客户端的问题 - 就我当时使用的客户端而言,我确定它是 KRDC 和 Windows RDP 客户端。除了在 KRDC 中将窗口设为全屏并将客户端设为原始分辨率(这样我就可以将其设为单独的虚拟桌面)之外,我不记得修改过客户端上的任何默认设置。
此外,还有另一种回应,关于减少/消除 RDP 流中的默认加密应该非常有助于降低整个过程从端到端的 CPU 密集程度,如果您的环境允许的话。
希望这可以帮助。
答案2
我安装了 Ubuntu 服务器 XRDP。使用 Windows 时速度非常慢。我解决了这个问题。在/etc/xrdp/xrdp.ini
文件中,更改crypt_level=high
为crypt_level=None
答案3
我禁用了合成器,如下所建议: https://github.com/neutrinolabs/xrdp/issues/501#issuecomment-262905321
您好,我在 xfce 和 ubuntu 16.04 上也遇到了同样的问题。我在 xfce windows 设置中禁用了合成器。现在它工作正常。
它做了一个巨大的差异,现在一切正常。
答案4
经过大量研究后,我通过以下设置获得了良好的性能:
xfce4
xorgxrdp-glamor
在 /etc/xrdp/sesman.ini 和 /etc/xrdp/xrdp.ini 中:
Policy=UBDI
max_bpp=16
xserverbpp=16
use_compression = yes
crypt_level=none
KillDisconnected=true
DisconnectedTimeLimit=0
tcp_send_buffer_bytes=4194304
调整 TCP(2 倍请求缓冲区大小):
sudo sysctl -w net.core.wmem_max=8388608
看https://github.com/neutrinolabs/xrdp/issues/1483
禁用合成器:
xfconf-query -c xfwm4 -p /general/use_compositing -t bool -s false