Есть большие проблемы с загруженностью сервера nginx.

Развернута следующая конфигурация:
1. Основной сервер, который распределяет нагрузку между 4 серверами.
nginx + php-fpm + mariadb. 3 ядра, 3 гигабайта ОЗУ
2. Сервер для раздачи результатов php и картинок
nginx + php-fpm + mariadb. 1 ядро, 1 гигабайт ОЗУ
3. Сервер для раздачи результатов php и картинок
nginx + php-fpm + mariadb. 1 ядро, 1 гигабайт ОЗУ
4. Сервер для раздачи исключительно картинок
nginx. 1 ядро, 1 гигабайт ОЗУ
5. Сервер для раздачи исключительно картинок
nginx. 1 ядро, 1 гигабайт ОЗУ

На основном nginx распределение такое:
по php:
upstream http_php {
        server Сервер2 weight=2 max_fails=2 fail_timeout=2s;
        server Сервер3  weight=2 max_fails=2 fail_timeout=2s;
        server localhost:81 weight=1 max_fails=2 fail_timeout=2s;
}

по картинкам:
        server Сервер4        weight=4 max_fails=2 fail_timeout=2s;
        server Сервер5        weight=4 max_fails=2 fail_timeout=2s;
        server Сервер2         weight=1 max_fails=2 fail_timeout=2s;
        server Сервер3          weight=1 max_fails=2 fail_timeout=2s;
}

То есть динамический контент отдается серверам 2 и 3 с большим приоритетом,
с меньшим - обрабатывает сам основной сервер

Статический контент отдается серверам 4 и 5 с большим приоритетом, с меньшим
серверам 2 и 3

Проблемы возникают в праздники, когда большой наплыв посетителей.
Тормозит основной сервер. Даже в терминальном окне команды вводятся с
замедлением.
Второстепенные сервера не сильно нагружены почему-то.

Модуль nginx_status_page на основном сервере показывает около 6000
соединений.

Вопрос: в какую сторону расширяться?
Увеличивать мощность основного сервера или увеличивать количество
второстепенных серверов?

Спасибо.

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,279343,279343#msg-279343

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить