Как настроить Nginx для лендинга, который не падает на пике трафика
На высоконагруженном лендинге Nginx чаще всего упирается не в «мощность», а в лишние системные вызовы и плохую работу с соединениями. Базовые настройки, которые почти всегда дают эффект:
• worker_processes auto;
• worker_connections 4096;
• keepalive_timeout 15;
• sendfile on;
• tcp_nopush on;
• tcp_nodelay on;
Дальше смотрим на буферы и кэш статических файлов. Для лендинга с тяжелыми картинками и CSS имеет смысл включить open_file_cache, а также поднять client_body_buffer_size и client_header_buffer_size без фанатизма. Это снижает лишние обращения к диску и помогает переживать всплески одновременных запросов без роста latency. Сжатие держите включенным только для текстовых типов, иначе получите лишнюю нагрузку на CPU.
Если Nginx стоит перед бэкендом или CMS, не забудьте про лимиты: proxy_connect_timeout, proxy_read_timeout, proxy_send_timeout. Короткие таймауты режут хвосты зависших запросов, длинные — забивают воркеры. Отдельно проверьте server_tokens off;, логирование ошибок и ротацию access.log, иначе диск станет бутылочным горлышком раньше, чем CPU.
Стабильность — это отсутствие магии, только предсказуемая конфигурация. Разворачиваем, проверяем, мониторим. Если метрики по active connections, request time и 5xx не смотрите в первую очередь, оптимизация превращается в гадание.
Настройка серверов для маркетинга
@server_setup_guide_arb
Как настроить Nginx для лендинга, который не падает на пике трафика
Этот пост опубликован в Telegram-канале Настройка серверов для маркетинга. Подписаться можно по ссылке: @server_setup_guide_arb.