我想优化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中实现更好的性能吗? 提前致谢。
答案 0 :(得分:2)
我倾向于遵循nginx + unicorn设置的一般经验法则如下:
Nginx工作进程=核心数
Nginx worker connections =一个非常高的数字(10000+)。这取决于您的保持活动时间,但如果您需要,可以使用大量连接。
Unicorn工作进程:最小值是核心数。如果进程相对轻量级(留下大量可用RAM),我倾向于增加它。
有点难以理解您在EC2实例上实际访问了多少个核心,因此在进行此操作时,它会进行一些基于试验和错误的调整。