/ / Jak zoptymalizować worker_processes i worker_connections w nginx? - amazon-web-services, nginx, aws-opsworks

Jak zoptymalizować work_processes i employee_connections w nginx? - amazon-web-services, nginx, aws-opsworks

Chciałbym zoptymalizować konfigurację nginx w instancji EC2. Celem jest obsługiwanie jak największej liczby jednoczesnych żądań użytkowników w aplikacjach szyny / jednorożca

Specyfikacje instancji

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

Obecnie konfiguracja:

worker_processes = 4
worker_connections = 12288

Raport narzędzi monitorowania:

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

Czy możliwe jest osiągnięcie lepszej wydajności w nginx dzięki dostępnemu procesorowi i pamięci? Z góry dziękuję.

Odpowiedzi:

2 dla odpowiedzi № 1

Ogólna zasada, którą zwykle stosuję w przypadku konfiguracji jednorożca nginx + jest następująca:

  1. Procesy robocze Nginx = liczba rdzeni

  2. Nginx worker connections = Naprawdę duża liczba (10000+). Zależy to od twojego czasu życia, ale warto mieć dużo dostępnych połączeń, jeśli tego potrzebujesz.

  3. Procesy robocze jednorożca: minimalna liczba rdzeni. Mam tendencję do zwiększania tego, jeśli procesy są stosunkowo lekkie (pozostawiając dużo dostępnej pamięci RAM).

Trochę trudno jest zrozumieć, ile rdzeni masz w rzeczywistości dostęp do instancji EC2, więc jeśli chodzi o to, to jest trochę bardziej strojone na podstawie prób i błędów.