Медленный HTTP-запрос может задерживаться уже на принимающем сервере. Пакет прошёл сеть и попал в сокет, но приложение ещё не прочитало данные.
eBPF-инструмент
netstacklat измеряет время прохождения нескольких точек сетевого стека Linux. Сопоставление tcp-socket-enqueued и tcp-socket-read помогает увидеть, где возникает ожидание: до помещения данных в сокет или перед их чтением приложением.В примере Red Hat данные быстро доходили до сокетов nginx, но долго ждали обработки. Увеличение числа workers с двух до шести помогло стенду выдержать целевые 15 000 запросов в секунду.
Инструмент подходит для поиска крупных скачков задержки. Его экспоненциальные гистограммы слишком грубы для оценки небольших улучшений на несколько процентов.