我遇到的问题与此处描述的问题非常相似:下载经常暂停和超时
少数客户在尝试从我的网站下载 zip 文件或 mp4 文件时似乎会遇到此问题。并不是每个人都会遇到这种情况,我估计只有大约 5% 的客户会遇到这种情况。
我已经更换了三次服务器,但该问题仍然存在于所有服务器上。
我通常能够自己复制该问题,我有一个 LTE 10mpbs 连接。我怀疑该问题与 MTU 设置或 ICMP 设置有关,尽管我不知道如何在服务器上调整这两者。我怀疑只有使用移动连接、DSL 连接或某种类型的路由器的客户才会遇到该问题。
由于这个问题发生在我将网站转移到的 3 个不同服务器上,因此它一定与我使用的服务器/网站配置有关。我确实使用了一个特别复杂的脚本来托管下载(它将下载文件的成员的用户名嵌入文件中),但即使在脚本之外,问题仍然存在。
我曾让多个系统管理员尝试调整服务器设置,但没有任何效果,而且大多数人都有点怀疑,因为他们自己无法复制该问题。
服务器运行的是 CentOS 6.5、16 核/32 线程、128 MB RAM、带有 cpnginx 的 apache 2.2.29
*当我一次只下载一个文件时,似乎没有任何问题,但是当我尝试一次下载多个文件时,我能够复制该问题。
答案1
这听起来就像您在帖子中提到的 MTU 问题。解决方案可能是 MTU 限制,这可以通过 IPTABLES 命令来完成 -
路由器版本
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
服务器版本
iptables -A OUTPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu