【问题标题】:Dropped connections to server. Haproxy + Nginx + Unicorn断开与服务器的连接。 Haproxy + Nginx + 独角兽
【发布时间】:2014-12-05 12:18:38
【问题描述】:

对我的站点的一些请求因“服务器意外断开连接”而失败,并且错误日志中没有错误。

RPM 为 1-1.2k。

你有什么想法吗?

这里是 haproxy、nginx 和 unicorn 的配置:

https://gist.github.com/releu/59b7f1d649c681856320

【问题讨论】:

    标签: nginx unicorn haproxy cloud66


    【解决方案1】:

    在您共享至关重要的日志之前,您的配置有误:

    1. Nginx worker_connections 3000 原因:保持比实际活动连接数多 2-3 倍

    2. Nginx worker_rlimit_nofile 20000。 原因:每个单独的连接需要 2 个文件描述符来通过代理服务请求

    3. Nginx 缺少直接从文件系统旁路后端提供静态文件的位置。 原因:如果你通过后端传递任何静态文件,它会很快达到限制

    4. Unicorn worker_processes 4. 原因:4 名工人不足以提供 1K RPM

    5. 系统:我猜缺少内核优化。 看看Unicorn System Kernel tips

    【讨论】:

    • 看起来主要问题出在 worker_connections 上。非常感谢!
    【解决方案2】:

    这看起来可能是您的 Unicorn 配置的问题 - 它设置为积压 1024,尽管是默认设置,这可能会导致一些问题。

    来自Unicorn documentation:“如果您在多台机器上运行 unicorn,降低此数字可以帮助您的负载均衡器检测机器何时过载并向另一台机器发出请求。”

    当这种情况发生时,监控您的系统资源可能也是值得的。请让我们知道这对您有何帮助!

    【讨论】:

    • 可能是,但 unicorn 的日志文件中没有错误,并且 ha-proxy 没有捕获任何错误响应。
    猜你喜欢
    • 2011-01-27
    • 2011-08-08
    • 2016-01-07
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 2013-01-10
    • 2010-12-07
    相关资源
    最近更新 更多