最近我尝试通过 RDP 将一个大文件 (1.2 GB) 复制并粘贴到远程计算机。远程计算机是装有 MS Windows Server 2008 Datacenter 的虚拟测试机。
首先,我尝试在午夜之前复制粘贴,当时客户端计算机 ISP 将传输速度限制为 100 kB/s。因此,这需要几个小时,而且由于远程桌面变得反应迟钝且反应迟钝(缓慢),我被迫取消传输。因此,当我的本地传输速度超过 4MB/s 时,我在午夜重新启动了它。
因此,我的印象是,无论复制粘贴传输的速度(宽带),远程计算机在通过 RDP 复制时都会变得缓慢。同时,从互联网下载不会使远程主机变得缓慢。
据我所知,这是因为远程计算机的剪贴板及其内存因传输而超载。
我如何控制(限制)特定过程(粘贴文件)对剪贴板的使用?
有哪些可能的方法来控制它?
更新:
在读到传输速度慢是由于通过 RDP 进行复制粘贴时使用了加密导致的,并且我认为我更关心整体效率:获取文件的时间或速度,以及无需等待即可工作的可能性,我更改了问题标题从:
- 如何控制远程桌面剪贴板的使用来粘贴大文件?
到
- 如何通过 RDP 更好地复制和粘贴大文件?
例如,复制并粘贴一个巨大的(zip)档案还是解压它并复制粘贴一个包含解压文件的文件夹更好?
更确切地说,我想问的是:
有哪些可能的方法可以改善整体体验:
- 传输速度(即所需文件的可用性)
- 远程主机的响应能力(使远程计算机在复制和粘贴完成之前可用于工作)?
答案1
当您说 Zip 文件时,您是指未压缩的存档,其大小与所有单个文件相同吗?还是指压缩存档?因为就在那里,如果您说的是压缩存档,那么您的传输速度会更快,严格来说,这会更好。当然,如果您考虑到制作存档所需的时间以及提取存档所需的时间,那么两台机器的规格都会影响存档是否比松散文件更好。
现在,既然您谈论的是 RDP(而不是 VNC),那么远程连接的带宽使用率就相当高了。RDP 比 VNC 响应更快,颜色深度(默认情况下)超过 256 种颜色(如果不更改,则为 32 位),屏幕大小将是桌面的大小,等等……所有这些因素都会影响远程连接使用的带宽量。如果您放弃诸如……远程桌面的大小和颜色深度为 16 位或更低,确保您没有共享声音等……这将为远程连接使用更少的带宽,这样当您传输文件时,远程会话应该响应更快。
但最终,除非你可以限制文件传输,无论您在传输文件时做什么,远程会话都会变得迟缓,因为尽可能多的可用带宽将用于远程计算机和您的计算机之间的传输。
编辑
您正在尝试找到一种简单的方法来传输文件,而不会影响远程连接的质量。它们是大文件还是小文件并不重要。在您的终端(客户端计算机)中,您正在将少量数据发送到远程计算机(服务器计算机)。您知道...打字、鼠标命令等。服务器一直以构成您在远程连接中看到的图像的形式向您发送大量数据。因此,在传输任何文件之前,您已经在一个方向上传输了大量数据。这就是为什么我提出您可以采取一些措施来减少传输的数据量...即在您的桌面上使用较小的远程计算机分辨率(而不是全屏)...将颜色数量从 32 位减少到 16 位甚至 8 位。这两个步骤将减少您从服务器(远程)传输到客户端(您)的数据量。这也意味着当您开始沿着相同的连接和路由传输文件时,您的远程连接将受到较少的影响。
正如我所说...无论你做什么都无法使连接保持清晰和响应。为什么?因为一旦你开始将文件从服务器传输到客户端,这将耗尽该管道上可用的每一点带宽...而你已经将该管道上的部分带宽用于远程连接本身。
首先,我尝试在午夜之前复制粘贴,当时客户端计算机 ISP 将传输速度限制为 100 kB/s。因此,它需要几个小时,而且我被迫取消传输,因为远程桌面变得反应迟钝且反应迟钝(缓慢)。因此,我在午夜重新启动它,当时我的本地传输速度超过 4 GB/s
因此,当您第一次尝试传输时,您的下载速度为 100kb/s。您正在尽可能快地传输 1.2gb 的文件,这会尽可能多地消耗 100kb/s。这会让什么远程桌面连接所需的数据空间是多少?因此,它当然会变得缓慢且无响应。您唯一没有考虑到的是服务器的上传速度。如果服务器的上传速度低于您的下载速度……并且在这个完美的假设中,服务器和您之间的路由允许此上传速度保持不变,一旦您开始传输文件,几乎所有带宽都将被文件传输占用,这将使远程连接受到影响。
为什么?
由于没有任何东西将文件传输限制在特定速度或可用带宽的百分比,因此它将尝试使用其所能使用的每 kb/s。从本质上讲,这将使远程连接受到影响。
即使将文件从服务器传输到第三方(例如某个 FTP 服务器),传输过程中的连接也会变得缓慢,因为同样,尽可能多的可用带宽会分配给该传输。但是,一旦完成传输,您就可以从 FTP 服务器下载它,而不会影响远程连接的响应能力……同样是因为午夜之后的传入管道比服务器的传出管道大得多。
因此,我会尝试降低远程连接的质量。
答案2
有一个 RDP 选项可在远程计算机上创建指向本地驱动器的链接。要启用它,请启动 RDP 客户端,单击(显示)选项,→ 打开“本地资源“选项卡→点击”更多的“→勾选”驱动器“复选框。
连接后,在远程系统上打开 Windows 资源管理器。您的本地驱动器应出现在“我的电脑”驱动器列表的底部。它显示为“your_computer_name 上的 C”。
您现在可以将文件从一个系统拖放到另一个系统。
答案3
我在我的 Windows 7 机器上使用 robocopy,使用 unc 名称 \\tsclient。
答案4
正如 @Tom 在其回答中所建议的,最好对文件进行 D&D 而不是 C&Ping。这还有一个好处,就是可以避免在Ctrl+C
客户端计算机上使用时中断文件传输的错误。