0

我想优化 EC2 实例中的 nginx 配置。目标是在 rails / unicorn 应用程序中服务尽可能多的并发用户请求

实例规格

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 中实现更好的性能?提前致谢。

4

1 回答 1

2

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

  1. Nginx 工作进程 = 内核数

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

  3. 独角兽工作进程:最小值是核心数。如果进程相对轻量级(留下大量可用 RAM),我倾向于增加这一点。

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

于 2014-05-25T06:11:42.683 回答