根据 1) 最大请求数量和 2) 最大内存自动重启 Unicorn 工作进程
Unicorn 是一个广泛使用的 HTTP 服务器,适用于 Rack 应用程序。我们认为 Unicorn 缺少的一项功能是根据请求数量和所消耗的内存来杀死 Unicorn 工作进程。unicorn-worker-killer gem 可根据 1) 最大请求数量和 2) 进程内存大小(RSS)自动重启 Unicorn 工作进程,而不会影响任何请求。这将大大提高站点的稳定性,避免在应用节点上出现意外的内存耗尽问题。
将以下这些行添加到您的 config.ru 中。 (这些行应添加到 require ::File.expand_path('../config/environment', __FILE__) 行的上方。
max_requests_min 和 max_requests_max 分别指定每个工作进程的最大请求数的最小值和最大值。实际限制由每个工作进程之间的 rand() 决定,以防止所有工作进程同时死机。一旦请求数超过限制,该工作进程将自动重启。
memory_limit_min 和 memory_limit_max 分别指定每个工作进程的最大内存上限的最小值和最大值(单位为字节)。实际限制由 rand() 在 memory_limit_min 和 memory_limit_max 之间确定。
暂无开放 Issues,或尚未同步最近议题。