/ / Як оптимізувати work_processes і worker_connections в nginx? - amazon-web-сервіси, nginx, aws-opsworks

Як оптимізувати work_processes і worker_connections в nginx? - amazon-web-сервіси, nginx, aws-opsworks

Я хотів би оптимізувати конфігурацію nginx в екземплярі EC2. Мета полягає в тому, щоб надавати якомога більше одночасних запитів користувачів у програмі (ів) для рейсів / єдинорогів

Примірник специфікації

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

Наразі конфігурація:

worker_processes = 4
worker_connections = 12288

Звіт інструментів моніторингу:

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

Чи можна досягти кращої продуктивності в nginx з наявним поточним процесором і пам'яттю? Заздалегідь спасибі.

Відповіді:

2 для відповіді № 1

Загальне правило, яким я дотримуюся для налаштування nginx + unicorn, полягає в наступному:

  1. Робочі процеси Nginx = кількість ядер

  2. Nginx working Connections = дійсно велика кількість (10000+). Це залежить від вашого тривалого часу, але має сенс мати багато з'єднань, якщо вам це потрібно.

  3. Робочі процеси єдинорога: Мінімальна кількість ядер. Я схильний збільшувати це, якщо процеси відносно легкі (залишаючи багато доступної оперативної пам'яті).

Це трохи важко зрозуміти, скільки ядра ви дійсно маєте доступ до примірника EC2, так що це трохи більше випробувань і помилок на основі настройки, коли справа доходить до цього.