【问题标题】:How to optimize worker_processes and worker_connections in nginx?如何优化 nginx 中的 worker_processes 和 worker_connections?
【发布时间】:2014-07-13 22:02:58
【问题描述】:

我想优化 EC2 实例中的 nginx 配置。目标是在 rails / unicorn app(s) 中为尽可能多的并发用户请求提供服务

实例规格

vCPU(s):  2 
ECU:      6.5 
MEMORY:   17.1 GB

当前配置:

worker_processes = 4
worker_connections = 12288

监控工具报告:

Memory usage: Around 80%
CPU usage: Around 20%

在当前可用的 CPU 和内存的情况下,是否有可能在 nginx 中实现更好的性能? 提前致谢。

【问题讨论】:

    标签: amazon-web-services nginx aws-opsworks


    【解决方案1】:

    对于 nginx + unicorn 设置,我倾向于遵循的一般经验法则如下:

    1. Nginx 工作进程 = 内核数

    2. Nginx 工作程序连接 = 一个非常高的数字 (10000+)。这取决于您的存活时间,但如果您需要,拥有大量可用连接是有意义的。

    3. Unicorn 工作进程:最小值是核心数。如果进程相对轻量级(留出大量可用 RAM),我倾向于增加此值。

    要了解您在 EC2 实例上实际可以访问多少个内核有点困难,因此在这方面需要更多基于反复试验的调整。

    【讨论】:

    • 谢谢,我必须采用试错法。问候
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-03
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 2019-11-05
    • 2021-06-27
    相关资源
    最近更新 更多