![通过 FTP 连接和列出目录速度较慢,文件传输似乎还可以](https://linux22.com/image/1317627/%E9%80%9A%E8%BF%87%20FTP%20%E8%BF%9E%E6%8E%A5%E5%92%8C%E5%88%97%E5%87%BA%E7%9B%AE%E5%BD%95%E9%80%9F%E5%BA%A6%E8%BE%83%E6%85%A2%EF%BC%8C%E6%96%87%E4%BB%B6%E4%BC%A0%E8%BE%93%E4%BC%BC%E4%B9%8E%E8%BF%98%E5%8F%AF%E4%BB%A5.png)
我已经设置了 FTP 服务器 (Filezilla),当我尝试连接它时,系统要求我登录,因此我登录,然后我可以看到连接正在进入被动模式.....但什么也没发生。(当输入错误的登录参数时,我可以在服务器界面中看到,但事实并非如此。)
当我足够幸运地列出文件并开始下载时,速度就还行。不过这种情况很少发生。:(
我试图禁用我的防病毒软件,尽管我认为这不是问题所在。
请问有什么提示吗?
我已经为 TCP 和 UDP 端口创建了入站规则。
答案1
所以,问题在于我没有打开用于被动模式的端口。为此,必须在路由器上设置转发,显然,它们需要在防火墙中打开。
答案2
我遇到了同样的问题 - 我的一位同事在家工作,她无法获取目录列表。她等了 15 分钟,仍然没有结果。如果她运气好,可以获取目录列表,她可以以相对较高的速度下载文件。就我而言,我必须等待大约 15 秒才能获取目录,因此我的家用计算机和服务器之间的连接是有效的。
服务器在 Windows XP 上运行 FileZilla v0.9.41 beta,客户端在 Windows 7 上运行 Total Commander v8.0。它具有 120 Mbps 的连接。阅读了一些文章后,我更改了服务器的参数,如下所示:
- 我将“内部传输缓冲区大小”(可在编辑 → 设置 → 杂项中找到)从 32768 增加到 262144
- 我将“套接字缓冲区大小”从 65536 增加到 262144
- 我启用了“MODE Z”文件传输压缩(编辑 → 设置 → 文件传输压缩)
自此以后,它一直运行良好。
但是我读到您必须在不同的缓冲区大小(65536、131072、262144、524288)下测试传输速度,然后才能选择最佳的缓冲区大小值(我听说有些连接速度慢的机器不喜欢高缓冲区大小值,而其他机器则不喜欢低值)。