RustDesk 中文网 v1.3.9 已更新(2026-07-25)—— 新增UDP协议支持,优化连接稳定性,立即更新

RustDesk性能调优与延迟优化:自建服务器实战指南

立即下载RustDesk 中文网 全平台支持 · 官方最新版

RustDesk为什么会卡?原因排查清单

很多用户部署RustDesk后感觉“比TeamViewer还慢”,其实不是RustDesk本身的问题,而是配置不当导致的。本文从底层到上层,系统讲清楚RustDesk性能调优的方法。

卡顿的常见原因(从高频到低频)

  1. 使用了RustDesk官方免费服务器(国内连接质量差)
  2. 未启用硬件编码(CPU编码软压慢)
  3. 网络带宽不足(尤其上行带宽)
  4. 局域网NAT穿透失败,被迫走中继
  5. 被控端硬件太弱(如远程树莓派)
  6. 防火墙/安全软件拦截QoS
  7. 显示器分辨率过高(4K远程带宽需求极大)
  8. TLS密钥协商拖慢(首次连接)

按从易到难顺序,本文给出每一项的优化办法。

客户端基础调优(所有人必做)

设置一:启用硬件编码

RustDesk默认会根据硬件自动选择编码器,但很多机器上自动选择失败。手动指定:

设置 → 显示 → 视频编码器 → 硬件 (H264/H265)
显卡 推荐编码器 备注
NVIDIA H264 NVENC 几乎所有N卡都支持
AMD/Intel核显 H264 AMF / H264 QSV 注意驱动版本
苹果M系列 H264/H265 VTB Metal加速
无独显 默认 VP9 / VP8 软件编码,慢但能用

实测效果:

硬件编码提速3-5倍,效果立竿见影。

设置二:调整色彩和帧率

远程桌面对色彩的要求通常不需要本地那么高:

设置 → 显示 → 色彩深度 → YUV444 (32位) 改为 YUV420 (12位)
设置 → 显示 → FPS → 限制到 30fps (除非做视频/设计)

色彩降一档、画面帧率降一档,带宽可省 50% 以上。

设置三:关闭不必要的图像增强

设置 → 显示 → 图像质量 → 标准 (默认) 不需要改
设置 → 显示 → 像素化 → 关闭 (像素化过强会卡)

如果是为了流畅,适度降低画质远比升级网络便宜。

设置四:剪贴板、文件传输优化

设置 → 高级 → 剪贴板同步 → 仅启用文本 (图片文件传输单独进行)

剪贴板如果频繁传输图片或大文件,会抢占远程连接的带宽。

自建hbbs服务器优化(进阶必做)

官方RustDesk服务器在国内连接质量很差(延迟200ms+),自建RustDesk Server是性能优化的关键一步。

部署架构

RustDesk Server有两个核心组件:

部署配置

# docker-compose.yml 性能调优版
version: '3'
services:
  hbbs:
    container_name: rustdesk-hbbs
    image: rustdesk/rustdesk-server:latest
    command: hbbs -r <your-server-ip-or-domain>:21117
    ports:
      - "21115:21115"    # WebSocket
      - "21116:21116/tcp"  # ID注册
      - "21116:21116/udp"  # 心跳
      - "21118:21118"    # WebSocket TLS
    volumes:
      - ./hbbs-data:/root
    restart: always
    # 性能调优:限制CPU/内存防止OOM
    deploy:
      resources:
        limits:
          cpus: '1.5'
          memory: 512M

  hbbr:
    container_name: rustdesk-hbbr
    image: rustdesk/rustdesk-server:latest
    command: hbbr
    ports:
      - "21117:21117/tcp"   # 中继
      - "21117:21117/udp"   # 中继
    restart: always
    deploy:
      resources:
        limits:
          cpus: '1.5'
          memory: 512M

hbbs/hbbr的高级配置参数

hbbs常用参数

参数 默认 推荐 说明
-k - 必设 加密密钥,客户端需配
-r - 必填 注册服务器地址
--mask 默认 优化时调 网段掩码
-p 21116 可改 自定义注册端口

关键环境变量调优

# /etc/environment or docker-compose environment
RUST_LOG=warn  # 减少日志IO
# 国内网络环境,可考虑开启压缩
RUSTDESK_USE_ZSTD=1

系统级优化

修改 /etc/sysctl.conf:

# 增加UDP缓冲区
net.core.rmem_max=26214400
net.core.wmem_max=26214400
net.ipv4.udp_mem=102400 873800 16777200
net.ipv4.udp_rmem_min=8192
net.ipv4.udp_wmem_min=8192

# TCP缓冲区
net.ipv4.tcp_rmem=4096 87380 6291456
net.ipv4.tcp_wmem=4096 65536 6291456

# 减少TIME_WAIT
net.ipv4.tcp_fin_timeout=15
net.ipv4.tcp_tw_reuse=1
sysctl -p

客户端指向自建服务器

在客户端的ID/中继服务器配置:

ID服务器: <your-server-ip-or-domain>
中继服务器: <your-server-ip-or-domain>
Key: <从hbbs-data目录下id_ed25519.pub读取公钥>

网络层面的优化(高级)

优化一:开启BBR拥塞控制

Linux 4.9+内核支持BBR,对远程桌面这种长肥管道非常有效:

# 检查当前拥塞控制算法
sysctl net.ipv4.tcp_congestion_control

# 临时启用
sysctl -w net.ipv4.tcp_congestion_control=bbr

# 永久启用
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

# 验证
sysctl net.ipv4.tcp_congestion_control
lsmod | grep bbr

BBR对比CUBIC在中长距离链路上提速 20-50%。

优化二:多线BGP机房选择

如果你打算正式部署,机房选择至关重要:

机房位置 国内访问延迟 适用
香港 10-30ms 国内用户主要用
日本/东京 50-80ms 东亚用户
新加坡 60-100ms 东南亚用户
美国西海岸 150-200ms 海外华人
欧洲 250-300ms 欧洲用户

国内用户首选香港CN2或CUG线路,CN2的高QoS对实时视频流非常友好。

优化三:专线/VPN专线

对于延迟极度敏感的场景(电竞级远程、设计软件远程),可以考虑:

  1. 在自建服务器机房与常用客户端机房之间拉SD-WAN专线
  2. 或者用WireGuard建立低延迟隧道(避开公网传统路由)
  3. 阿里云、腾讯云的“全球加速”产品对UDP优化做得好

优化四:QoS与队列管理

如果是企业自建,可以对RustDesk的端口做QoS优先调度:

# tc命令示例,网络设备名eth0
# 对RustDesk的UDP 21116/21117端口给予最高优先级
tc qdisc add dev eth0 root handle 1: prio bands 4
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dport 21116 0xffff flowid 1:1
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dport 21117 0xffff flowid 1:1

被控端硬件优化

检查被控端CPU负载

# Windows
Get-Counter '\Processor(_Total)\% Processor Time'
# 任务管理器 → 性能 → CPU → 观察RustDesk进程占用

如果RustDesk进程CPU占用 > 30%,通常是软件编码或频繁截图。建议:

显示器多开与分辨率

4K显示器远程起来非常吃带宽:

设置 → 显示 → 多显示器 → 单显示器模式

剪贴板和文件传输

设置 → 高级 → 关闭剪贴板自动同步 (需要时才打开)
设置 → 文件传输 → 限制单文件大小到 200MB

剪贴板图片同步会抢带宽,关闭自动同步改用手动同步能省 20-30% 带宽。

网络质量监控工具

服务端监控

# 用iftop监控hbbs/hbbr网络流量
docker exec rustdesk-hbbs iftop -i eth0

# 实时延迟测试
ping <server-ip>

# 用tcpping持续观察特定端口
tcping <server-ip> 21117

客户端连接质量检查

RustDesk 1.2.0+提供了连接质量面板:

常见性能问题FAQ

Q:启用了NVENC但还是卡,为什么?

可能的原因:

  1. 显卡驱动版本太老,NVENC效率低
  2. 被控端有其他高CPU占用的进程
  3. 设置中“色彩模式”仍是YUV444(高带宽)
  4. 检查设置 → 显示 → 帧率:30fps以上会显著增加带宽

Q:RustDesk服务器CPU占用高怎么排查?

docker stats
top
# 看hbbs/hbbr进程占用

常见原因:

Q:为什么我看到的中继连接不是P2P?

查看连接信息:
- 直连/P2P连接:RustDesk走UDP直连两端,延迟最低
- 中继连接:UDP不通,被迫走服务器中继,延迟 + 服务器RTT

如果一直是中继连接,检查:

  1. 两端是否都在NAT后面
  2. 路由器是否封禁了UDP
  3. 防火墙是否拦截了 UDP 21116-21117

Q:RustDesk带宽占用高,能否压缩?

可以做:

  1. 降低色彩深度:YUV444 → YUV420
  2. 降低帧率:30 → 24 fps
  3. 关闭剪贴板同步
  4. 启用ZSTD压缩(实验性):RUSTDESK_USE_ZSTD=1

但会损失画质,需要权衡。

Q:用RustDesk做设计(图形软件)卡顿严重,怎么办?

设计场景需要高质量画面对色彩要求高,几个针对性建议:

  1. 绝不要压色彩:设计需要YUV444
  2. 提高分辨率但降低帧率:设计软件本身就低帧,30fps够用
  3. 考虑单独买硬件加速GPU:对老电脑升级显卡比升级网络更划算
  4. 使用本地KVM/IP KVM方案:对于超低延迟设计需求,软件远程不够用

性能优化的体系化建议

对于希望“榨干RustDesk性能”的用户,推荐组合拳:

第一档:基础优化(5分钟)

第二档:网络优化(30分钟)

第三档:深度优化(2-4小时)

第四档:终极优化(企业级)

大多数个人/中小团队做到第二档,体验就已经很好。第三档以上性价比开始下降。

总结:RustDesk性能优化是一个系统工程

RustDesk的开源特性使其在性能调优上有极大自由度,但也意味着“默认配置不一定是最佳”。本文列出的每一项优化都是经过社区验证有效的。

如果只能选一项优化,部署自建hbbs+hbbr是投入产出比最高的选择。这一项改动,就能把“国内远程延迟300ms”优化到“延迟50ms”,体验差距肉眼可见。

测速对比表(优化前 → 优化后):

场景 优化前 优化后 提升
国内连官方服务器 250ms - -
国内连自建香港 - 30-80ms -70%
软件编码 35% CPU - -
硬件编码 - 5-8% CPU -77%
默认色彩/帧率 8Mbps - -
调低色彩/帧率 - 2-3Mbps -65%

性能优化是无止境的,但“够用就行”——通常做到第二档就已经能流畅玩游戏、看视频、远程办公了。如果还有性能问题,欢迎在评论区讨论具体场景。

这篇教程有帮助吗?立即下载RustDesk 中文网试试吧!

全平台支持 · 安全无毒 · 官方最新版