0

I've been using httping to monitor the performance of my load balancer.

The httping utility accepts a -S argument which is briefly described in the man page:

-S Split measured latency in time to connect and time to exchange a request with the HTTP server.

The output looks like this:

connected to [hostname-snip]:80 (284 bytes), seq=259 time= 0.01+ 21.96+ 23.95+ 0.07+ 0.02= 45.99 ms

From this its clear that httping is breaking out the timing into Connect/Transmit/Wait (etc...) and also showing the cumulative output, but I can't account for what each of the values mean.

Does anyone know what each of these values mean?

Zorlack
  • 395
  • 1
  • 5
  • 13

1 Answers1

0

I banged my head against this for a little while.

I kept getting high values in the first field, and thought I was having trouble with the TCP connect phase.

I ended up consulting the source code:

From 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);

This indicates the output of httping -S is as follows:

Time = [DNS Resolution Time] + [TCP Connect Time] + [HTTP Transmit Time] + [HTTP Receive Time] + [TCP Close Time] = [Total Time]

Zorlack
  • 395
  • 1
  • 5
  • 13