缓慢的 POST 上传(Linux 内核调优)

缓慢的 POST 上传(Linux 内核调优)

我在 Caucho Resin 后端工作,并在专用服务器中在其前面配置了 HAproxy。

现在我正在处理文件上传问题。我们的 Web 应用程序允许上传图像文件,如果我直接访问我的一个 Resin 服务器,上传速度非常快(5 秒),没有任何问题。然后,当我通过我的生产负载均衡器访问时,图像上传速度非常慢(50/60 秒)。

我已经调整了负载平衡器的 sysctl.conf,以便为 TCP 套接字提供更多内存

net.core.rmem_max = 134217728 
net.core.wmem_max = 134217728 
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.core.netdev_max_backlog = 250000
fs.file-max = 100000

但情况并没有改善,所以我又拿了另一台服务器,安装了 HAproxy,并按照我的运行配置和 sysctl 文件中的相同调整,然后我做了相同的上传测试,上传速度非常好,大约 6 秒即可完成请求。所以,我的 haproxy 配置文件没有问题,后端服务器也没有问题。

由于第二台服务器是没有流量的备用服务器,我知道我的 sysctl 调整在生产负载均衡器上不够好。其他一切都正常(正常网页浏览等)。

负载均衡器是配备 Intel 82576 GbE NIC 的 Dell R415,运行 Haproxy 1.5.9。

我能得到一些关于调整 sysctl.conf 的帮助吗?

谢谢

答案1

50 秒的响应时间非常不寻常。我建议您删除所有 TCP sysctrl 调整,并将所有设置恢复为操作系统的默认设置。一旦基本配置正常工作,然后一次调整一个参数,然后进行基准测试。

相关内容