Назад | Перейти на главную страницу

Какие измерения разделенной задержки производятся при использовании httping?

Я использовал httping для мониторинга производительности моего балансировщика нагрузки.

Утилита httping принимает аргумент -S, который кратко описан на странице руководства:

-S Разделить измеренную задержку во времени для подключения и времени для обмена запросом с HTTP-сервером.

Результат выглядит так:

подключен к [hostname-snip]: 80 (284 байта), seq = 259 time = 0,01+ 21,96+ 23,95+ 0,07+ 0,02 = 45,99 мс

Из этого ясно, что httping нарушает синхронизацию в Connect / Transmit / Wait (и т. Д.), А также показывает совокупный вывод, но я не могу объяснить, что означает каждое из значений.

Кто-нибудь знает, что означает каждое из этих значений?

Я некоторое время бился об это головой.

Я продолжал получать высокие значения в первом поле и думал, что у меня проблемы с фазой TCP-соединения.

В итоге я проконсультировался с исходным кодом:

Из main.c

2232: char *res_str = t_resolve.cur_valid ? format_value(t_resolve.cur, 6, 2, abbreviate) : strdup(gettext("   n/a"));
2233: char *con_str = t_connect.cur_valid ? format_value(t_connect.cur, 6, 2, abbreviate) : strdup(gettext("   n/a"));
2234: char *wri_str = format_value(t_write.cur, 6, 2, abbreviate);
2235: char *req_str = format_value(t_request.cur, 6, 2, abbreviate);
2236: char *clo_str = format_value(t_close.cur, 6, 2, abbreviate);
2237: 
2238: str_add(&line, gettext("time=%s+%s+%s+%s+%s%s=%s%s%s%s ms %s%s%s"), res_str, con_str, wri_str, req_str, clo_str, sep, unsep, ms_color, tot_str, c_white, c_cyan, sc?sc:"", c_white);

Это означает, что вывод httping -S выглядит следующим образом:

Время = [Время разрешения DNS] + [Время TCP соединения] + [Время передачи HTTP] + [Время приема HTTP] + [Время закрытия TCP] = [Общее время]