<b>Nginx для лендинга под нагрузкой: где теряются RPS и как это убрать</b>
Первый узкий участок обычно не в PHP, а в раздаче статики и в количестве соединений. Для лендинга проверьте базу: <code>worker_processes auto;</code>, <code>worker_connections 4096;</code>, <code>keepalive_timeout 15;</code>. Если на сервере мало RAM, не завышайте буферы вслепую: лишняя память под соединения быстро превращается в swap и рост TTFB.
Для статики включите агрессивный cache-control и отдачу файлов без лишних syscall: <code>sendfile on;</code>, <code>tcp_nopush on;</code>, <code>tcp_nodelay on;</code>. Сжатие держите только для текста: HTML, CSS, JS, JSON. Картинки не жмите повторно на уровне Nginx — это расход CPU без заметной пользы.
На уровне виртуального хоста убирайте лишние редиректы и цепочки location. Один лишний 301 на каждом визите — это лишний запрос, лишняя задержка и лишняя точка отказа. Логи тоже проверяйте: если access.log пишет всё подряд, диск становится тормозом. Для горячих лендингов лучше отдельный формат логов и ротация без задержек.
Проверка простая: <code>nginx -t</code>, потом <code>wrk</code> или <code>ab</code> на целевую страницу, и сравнение p95 latency до и после правки. Если p95 растёт вместе с RPS — упрётесь в CPU, диск или сеть, а не в сам Nginx. Стабильность — это отсутствие магии, только предсказуемая конфигурация.
Настройка серверов для маркетинга
@server_setup_guide_arb
<b>Nginx для лендинга под нагрузкой: где теряются RPS и как это убрать</b>
Этот пост опубликован в Telegram-канале Настройка серверов для маркетинга. Подписаться можно по ссылке: @server_setup_guide_arb.