虽然从我的服务器提供几个 Linux 发行版的种子运行良好,平均速度为 12-15 MiB/s,峰值约为 22 MiB/s - 但大多数其他服务都非常慢。
例如,SFTP 上传速度通常上限为 800 KiB/s,Plex Media Server 很难以超过 4 mbps 的速度提供内容,而下载速度上限约为 2-500 KiB/s。
我觉得某些因素限制了单个 IP 连接的速度,因为 torrent 使用许多并行连接,因此性能要高得多。解决此问题最明显的地方是什么?
我在 Core i3/H81/16 GB DDR3 上运行 Ubuntu 16.04.1。Ubuntu 系统在三星 840 Pro SSD 上运行,发行版和其他内容由 WD Red 磁盘提供。
我使用 Transmission 存储库中的最新版本作为 torrent 服务器。Plex Media Server 也是可用的最新版本。在 FTP 端,我使用存储库中最新版本的 OpenSSH 作为服务器,并使用各种客户端来访问它。
我很乐意上传任何配置文件或任何其他可能有用的材料。
答案1
TCP 的吞吐量,除了线路速度之外,还由 3 个参数给出:
- 潜伏
- tcp-窗口大小
- tcp 读写缓冲区
遵循以下公式:
Bandwidth-in-bits-per-second * Round-trip-latency-in-seconds = TCP window size in bits / 8 = TCP window size in bytes
使用公式计算会话所需的缓冲区和窗口大小。但请记住,缓冲区越大,使用的内存就越多,因此一个会话可能不需要使用完整的链接。
因此,为了让一个会话充分利用可用的线路速度,您必须增加 tcp 窗口大小、设置窗口缩放比例、增加 tcp 读写缓冲区以及 tcp 最大缓冲区。
这里有一篇很好的文章(http://www.linux-admins.net/2010/09/linux-tcp-tuning.html) 详细描述要做什么。否则,谷歌搜索“linux tcp tuning”