我们正在处理三个 Linux 系统:
运行 ubuntu 18.04 的“服务器”(实际上是也用作桌面 PC 的工作站)。
运行 arch linux 的旧客户端(带有 sandy-bridge cpu 的笔记本电脑,没有专用 GPU)
一个新的客户端(配备 Comet Lake CPU、专用 Nvidia GPU、BIOS 中的混合设置、无 bumblebee 安装的笔记本电脑)运行 debian 测试并使用 debian 存储库中的专有 nvidia 驱动程序
两个客户端位于同一网络中(交换机上的相邻端口、相同的 IP 范围、两个千兆位以太网适配器、speedtest.net 报告两者的连接速度相同)。
我可以从两个客户端 ssh 到服务器,X 转发通常可以工作,只是在新客户端上速度慢得多(作为测试周期,我启动 intel vtune gui,并在主菜单完全绘制后关闭它。在新客户端上大约需要 26 秒旧客户端上大约 5 秒)。
我ssh -vvv
没有看到这两个设置之间有任何区别(都是[email protected]
密码,都不使用连接压缩。事实上,文件$HOME/.ssh/config
和/etc/ssh/ssh_config
文件是相同的(后者的交付方式略有不同,但我将文件从旧客户端复制到新客户端)排除这就是差异的来源)。
显然,我们希望新客户端上的 x 转发速度与旧客户端上的一样快。建议在哪里寻找差异?客户端上的 X 配置/图形驱动程序是否会导致速度变慢(我们在三个系统中的任何一个上都没有看到一般图形问题)?
更新
两个系统都运行相同的窗口管理器 (i3)。启用/禁用压缩不会改变行为。
有点意外(虽然是由 @symcbean 的建议触发的),我注意到在新客户端上,在新客户端上切换网络设备时,行为发生了巨大变化:通过 USB-C 连接到附带的以太网,我观察到行为缓慢。通过 wifi 连接,上面提到的启动和退出周期大约需要 9 秒。 (旧客户端使用内置以太网适配器)。
进一步挖掘,虽然 speedtest.net 说两个客户端都获得 800Mbit/s(两个客户端上的以太网),但从scp
服务器到客户端到旧客户端的速度为 90MB/s,但到新客户端的以太网速度仅为 5 MB/s( 50MB/s(带 wifi)。
更新2
我ip addr
发现qdisc
客户端之间的设置有所不同:
- 新客户端以太网
<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
- 旧客户端以太网
<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
- 新客户端wifi
<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
iperf3(到公共 iperf 服务器)
老客户
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 92.7 MBytes 777 Mbits/sec 0 1.54 MBytes
[ 5] 1.00-2.00 sec 73.8 MBytes 619 Mbits/sec 0 1.54 MBytes
[ 5] 2.00-3.00 sec 71.2 MBytes 598 Mbits/sec 0 1.54 MBytes
[ 5] 3.00-4.00 sec 76.2 MBytes 640 Mbits/sec 0 1.54 MBytes
[ 5] 4.00-5.00 sec 97.5 MBytes 818 Mbits/sec 2 1.14 MBytes
[ 5] 5.00-6.00 sec 95.0 MBytes 797 Mbits/sec 0 1.27 MBytes
[ 5] 6.00-7.00 sec 93.8 MBytes 786 Mbits/sec 0 1.34 MBytes
[ 5] 7.00-8.00 sec 93.8 MBytes 786 Mbits/sec 0 1.44 MBytes
[ 5] 8.00-9.00 sec 95.0 MBytes 797 Mbits/sec 0 1.48 MBytes
[ 5] 9.00-10.00 sec 86.2 MBytes 724 Mbits/sec 0 1.48 MBytes
新客户端(以太网)
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 30.0 MBytes 252 Mbits/sec 49 382 KBytes
[ 5] 1.00-2.00 sec 35.9 MBytes 301 Mbits/sec 0 447 KBytes
[ 5] 2.00-3.00 sec 41.5 MBytes 348 Mbits/sec 0 515 KBytes
[ 5] 3.00-4.00 sec 47.6 MBytes 399 Mbits/sec 0 580 KBytes
[ 5] 4.00-5.00 sec 53.6 MBytes 450 Mbits/sec 0 648 KBytes
[ 5] 5.00-6.00 sec 58.2 MBytes 489 Mbits/sec 0 714 KBytes
[ 5] 6.00-7.00 sec 66.2 MBytes 555 Mbits/sec 0 781 KBytes
[ 5] 7.00-8.00 sec 52.5 MBytes 440 Mbits/sec 10 625 KBytes
[ 5] 8.00-9.00 sec 57.5 MBytes 482 Mbits/sec 0 690 KBytes
[ 5] 9.00-10.00 sec 61.2 MBytes 513 Mbits/sec 0 740 KBytes
答案1
我没有使用过 vtune/不知道它的作用 - 你知道吗感知旧设备的响应速度更快吗?
X比较健谈。我首先要查看的是网络堆栈,而不是视频卡。尝试运行 iperf3 / 检查冲突算法 / TCP 卸载的差异(这会增加延迟,同时减少 CPU 负载)。确保您已在新机器上运行 irqbalance。