我已经设置了一台测试机器(在 linode 2048 机器上的 debian Squeeze 2.6.32)与返回大块 json 的 api 交互。它以 3000/分钟异步调用 API,API 返回 ~450kb 的有效负载。盒子上还有一个 http 服务器来显示调用结果。
在执行 netstat -s 时(正常运行时间为 20 天):
254329 packets pruned from receive queue because of socket buffer overrun
50678438 packets collapsed in receive queue due to low socket buffer
Run Code Online (Sandbox Code Playgroud)
这对我来说听起来不太好,所以我按照这些教程来调整 TCP 参数:
http://fasterdata.es.net/fasterdata/host-tuning/linux/test-measurement-host-tuning/
和
http://www.acc.umu.se/~maswan/linux-netperf.txt
但它似乎没有帮助。
关于套接字缓冲区的任何建议/教程/解释可能有助于理解和解决问题?
谢谢