On 08.04.2018 10:19, guteelefant wrote:

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


[...]

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

Какого именно ресурса не хватает на основном сервере - памяти,
мощности процессора или производительности дисковой подсистемы?

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

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

Следует убедиться что на основном сервере достаточно памяти и он
не уходит в swapping. mariadb может использовать очень много памяти.

Лучше всего сделать отдельный nginx frontend, который будет
заниматься только балансировкой запросов между backend`ами.

Имеет смысл на основном сервере поставить в конфиге

    # If you want nginx to don't touch disk, use
    # This will still allow in-memory buffering and wouldn't touch disk.
    proxy_max_temp_file_size 0;

в результате nginx frontend не будет тормозить на дисковых операциях.

Также имеет на nginx frontend включить ssl_session_cache,
и прописать настройки

    ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1 TLSv1;
    ssl_prefer_server_ciphers on;
    # OpenSSL, ssl_ciphers и nginx: прокачиваем на 100%
    # https://habrahabr.ru/post/325230/
    ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:RSA+3DES:!NULL:!RC4;

--
Best regards,
 Gena

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

Ответить