丢弃了与服务器的连接。 Haproxy + Nginx + Unicorn

时间:2014-12-05 12:18:39

标签: nginx unicorn haproxy cloud66

对我的网站的一些请求失败了"服务器意外删除了连接"并且错误日志中没有错误。

RPM是1-1.2k。

你有什么想法吗?

以下是haproxy,nginx和unicorn的配置:

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

2 个答案:

答案 0 :(得分:3)

在共享关键日志之前,您的配置错误:

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

  2. Nginx worker_rlimit_nofile 20000。 原因:每个单一连接需要2个文件描述符,用于通过代理

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

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

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

答案 1 :(得分:0)

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

来自Unicorn documentation:“如果您在多台计算机上运行独角兽,降低此数字可以帮助您的负载均衡器检测机器何时超载并向其他计算机发出请求。”

发生这种情况时,监控系统资源可能也值得。请告诉我们这是怎么回事!