Нагрузочное тестирование сайта: ab, wrk, k6 и JMeter — как не положить прод и что измерять
Как провести нагрузочное тестирование сайта и не положить прод: виды тестов, RPS и p95, сравнение ab, wrk, k6, JMeter, Locust, Танка и что чинить.
Инструменты и понятия, которые нужны, когда сайт «то открывается, то нет»: ping и трассировка, MTR, проверка портов, curl, netcat, tcpdump, TCP и UDP, MTU и NAT. Статьи с готовыми командами и разбором вывода по строкам.
Базовый набор: ping, трассировка маршрута и проверка порта.
24 статьи
Как провести нагрузочное тестирование сайта и не положить прод: виды тестов, RPS и p95, сравнение ab, wrk, k6, JMeter, Locust, Танка и что чинить.
NAT подменяет адреса в пакетах, поэтому сервер за роутером не виден из интернета. Как отличить CGNAT от отсутствия проброса и что с этим делать.
TCP и UDP на уровне заголовков и рукопожатия, таблица «сервис → транспорт → порт», nc/nmap/ss с выводом и почему UDP-порт извне «проверить» нельзя.
Что такое сокет и чем он отличается от порта, зачем nginx и PHP-FPM общаются через файл в /run и почему при нагрузке сервер пишет «Too many open files».
20 рабочих команд tcpdump с примерами вывода: от фильтра по IP до TLS-алертов, NXDOMAIN и ретрансмитов. Плюс таблицы ключей, симптомов и замен для Windows.
Loss 47% на третьем хопе — не всегда потеря. Разбираем mtr и WinMTR: ключи, колонки и пять картинок отчёта, по которым видно, где лимит ICMP, а где сбой.
Семь уровней OSI через реальные падения сайта: что ломается на каждом, какая ошибка в браузере, какая команда и какая проверка мониторинга это находит.
Две утилиты делают вроде бы одно и то же, но на 404 дают противоположные коды выхода. Разбираем различия и собираем таблицу соответствия ключей.
Снаружи порт закрыт, изнутри сервис запущен. Разбираем ss и netstat: ключи, фильтры, состояния TCP и две колонки, которые читают неправильно.
Ping идёт, SSH работает, а страница с картинками висит. Почти всегда это одна поломка: слишком большие пакеты и потерянное сообщение о них.
Хостер продал гигабит, а файл едет на 300 Мбит/с. Разбираем, как iperf3 меряет канал: команды, таблицы ключей и разбор каждой цифры в выводе.
nc -zv для проверки портов, nc -l для ответа «сеть или сервис», передача файлов и разговор с протоколами — с примерами.
Прямой и обратный прокси, HTTP и SOCKS, отличие от VPN — и зачем прокси владельцу сайта, который «ничего такого не настраивал».
Коды ответа, цепочки редиректов, замер TTFB по фазам и проверка сайта на новом сервере до переключения DNS — приёмы curl для владельца сайта.
Синтаксис за пять минут, типовые задачи владельца сайта, пять классических граблей — и как узнать, что крон тихо сломался.
Как включить telnet в Windows, как читать три исхода проверки порта и когда взять современные альтернативы вместо telnet.
Откуда сайты знают ваш город по IP, почему геолокация ошибается и чем гео-логика сайта опасна для бизнеса.
Команды для любой системы, три варианта ответа и почему проверка изнутри сервера и снаружи — это две разные проверки.
Как провести пинг-тест и прочитать сводку: нормы для игр и звонков, джиттер, потери пакетов и физические минимумы задержки.
Как запустить и прочитать трассировку: механика TTL, звёздочки, поиск узла с потерями и шпаргалка для тикета провайдеру.
Порт — это номер, по которому сервер понимает, какой именно программе адресован запрос. Разбираем, какие порты важны для сайта и как за ними следить.
Утилите ping уже больше сорока лет, но вокруг неё до сих пор хватает мифов. Разбираемся, как работает ICMP, почему ping «молчит» чаще, чем кажется, и зачем он всё ещё нужен в мониторинге
TTFB (Time To First Byte) — это время от момента, когда браузер отправил HTTP-запрос, до момента, когда он получил первый байт ответа от сервера. Это не время полной загрузки страницы. Это время до начала её получения.
Разбираемся, чем отличаются GET, HEAD, POST, PUT и другие HTTP-методы, как они работают и почему HEAD-запросы незаменимы для мониторинга сайтов.