Size: a a a

2020 July 09

A

Aliko in nginx_ru
M T
Vladimir Zhurkin, [02.07.20 01:14]
$upstream_response_time - хранит время, затраченное на получение ответа от сервера группы; время хранится в секундах с точностью до миллисекунд.

$upstream_connect_time и $upstream_header_time - это составные части $upstream_response_time, складывать их вместе не нужно.

Vladimir Zhurkin, [02.07.20 01:14]
$request_time -  время обработки запроса в секундах с точностью до миллисекунд; время, прошедшее с момента чтения первых байт от клиента до момента записи в лог после отправки последних байт клиенту.

$request_time = <время чтения запроса> + $upstream_response_time + <время досылки ответа>

M T, [02.07.20 01:15]
да тут ясно что request_time это все, а  header time, пока прожует и отдаст пхп
Вроде да, для начала есть над чем подумать. спасибо
источник

A

Aliko in nginx_ru
Anton Noginov
Было.
Очень дорого.
дорого в каком плане? ресурсов?
источник

VZ

Vladimir Zhurkin in nginx_ru
@Fearan поставь netdata и посмотри его метрики =)
источник

AN

Anton Noginov in nginx_ru
Aliko
дорого в каком плане? ресурсов?
Да.
Если нужно оценивать таймлайн каждого отдельного коннекта - портмиррор в отдельную машину, парсер на moonlib, дампы в moloch.
Дальше анализировать кибаной например
источник

AN

Anton Noginov in nginx_ru
Vladimir Zhurkin
@Fearan поставь netdata и посмотри его метрики =)
Он начал показывать таймстемпы отдельных пакетов?
Вот_это_поворот.
источник

VZ

Vladimir Zhurkin in nginx_ru
нет Но сделать можно =)
источник

VZ

Vladimir Zhurkin in nginx_ru
это же конструктор
источник

AN

Anton Noginov in nginx_ru
Нет. Этого сделать нельзя.
Хотя бы потому, что в юзерленд не приходит состояние сессии
источник

A

Aliko in nginx_ru
Anton Noginov
Да.
Если нужно оценивать таймлайн каждого отдельного коннекта - портмиррор в отдельную машину, парсер на moonlib, дампы в moloch.
Дальше анализировать кибаной например
ресурсы не проблема)) спасибо, почитаю как и что
источник

AN

Anton Noginov in nginx_ru
Aliko
ресурсы не проблема)) спасибо, почитаю как и что
Я щас подумал, что возможно можно сделать дешевле через bpftrace
источник

VZ

Vladimir Zhurkin in nginx_ru
Anton Noginov
Нет. Этого сделать нельзя.
Хотя бы потому, что в юзерленд не приходит состояние сессии
а при чем тут это ?
источник

VZ

Vladimir Zhurkin in nginx_ru
у тебя есть netlink а там делай что хочешь
источник

VZ

Vladimir Zhurkin in nginx_ru
ты же когда вызываешь ip a , получаешь вывод на экран - правда ?
источник

VZ

Vladimir Zhurkin in nginx_ru
а нахреначить обертку на python или go, вопрос человеко затрат и необходимости
источник

VZ

Vladimir Zhurkin in nginx_ru
а куда уже это все собирать дело так вообще 10е
источник

AN

Anton Noginov in nginx_ru
Vladimir Zhurkin
ты же когда вызываешь ip a , получаешь вывод на экран - правда ?
И как это поможет получить временную дельту между состоянием каждого отдельного сокета?
Он не event-driven.
источник

A

Aliko in nginx_ru
Anton Noginov
Я щас подумал, что возможно можно сделать дешевле через bpftrace
интересная штука,тут мне кажется более тонкая детализация по сессии. Сейчас подумал wiresharkом попробовать построить диаграмму сессий
источник

AN

Anton Noginov in nginx_ru
Aliko
интересная штука,тут мне кажется более тонкая детализация по сессии. Сейчас подумал wiresharkом попробовать построить диаграмму сессий
Дамп трафика через мирроринг - это ровно оно и есть.
Просто в чистом виде в wireshark - это очень долго. Просто совсем очень.
Особенно, если трафик какой-то существенный.
источник

VZ

Vladimir Zhurkin in nginx_ru
@Fearan я не отвечу, но это же как то делают утилиты - например ss и делают все через тот де netlink. Дальше вопрос технический и больше творческий
источник

AN

Anton Noginov in nginx_ru
Vladimir Zhurkin
@Fearan я не отвечу, но это же как то делают утилиты - например ss и делают все через тот де netlink. Дальше вопрос технический и больше творческий
ss этого не делает.
источник