Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
HTTPING(1)		    General Commands Manual		    HTTPING(1)

NAME
       httping - measure the latency and throughput of a webserver

SYNOPSIS
       httping [options]

       options:	[-g url] [-h hostname] [-p portnumber] [-x proxyhost:port] [-c
       count]  [-i  interval]  [-t timeout] [-s] [-G] [-b] [-L xferlimit] [-X]
       [-l] [-z] [-f] [-m] [-o rc,...] [-e string] [-I useragent  string]  [-R
       referer string] [-r] [-n	warn,crit] [-N mode] [-q] [-V]

DESCRIPTION
       The  program httping lets you measure the latency of a webserver. Since
       version 1.0.6 also the throughput can be	measured.

OPTIONS
       -5     The proxy	server selected	is a SOCKS5 server.

       -6     Enable IPv6 mode.	Default	is IPv4.

       -a     Audible ping

       -b     Use this switch together with '-G'. When this  option  is	 used,
	      the transferspeed	(in KB/s) is shown.

       -B     Use  this	switch together	with '-G'. Ask the HTTP	server to com-
	      press the	returned data: this will reduce	the influence  of  the
	      bandwidth	 of  your connection while increasing the influence of
	      the processorpower of the	HTTP server.

       -c count
	      How many probes to send before exiting.

       -D     Do not draw graphs in ncurses mode (-K).

       -e str When the status-code differs from	the ones selected  with	 '-o',
	      the given	string is displayed.

       -E     Retrieve proxy settings from environment variables ('http_proxy'
	      and 'https_proxy').

       -F     Attempt  TCP  Fast Open while trying to connect to a server (for
	      Linux, version 3.7 onwards of the	kernel)

       -f     Flood ping: do not sit idle between each ping but	ping  as  fast
	      as the computer and network allow	you to.

       -G     Do a GET request instead of a HEAD request: this means that also
	      the  complete  page/file	must be	transferred. Note that in this
	      case you're no longer measuring the latency!

       -g url This selects the url to probe. E.g.: http://localhost/

       -h hostname
	      Instead of '-g' one can also set a hostname to probe with	-h: -h
	      localhost

       -I str UserAgent-string to send to the webserver	(instead  of  'HTTPing
	      <version>').

       -i interval
	      How many seconds to sleep	between	every probe sent.

       -K     Enable ncurses user interface.

       -L x   Use  this	 switch	 together  with	'-G'. Limit the	amount of data
	      transferred to 'x'. Note that this only affects the  content  of
	      the page/file and	not the	headerdata.

       -l     Connect  using  SSL:  for	 this  to  work	 you  need  to	give a
	      'https'-url or a 443 portnumber.

       -m     Show machine readable output (also check '-o' and	'-e').

       -N x   Switches HTTPing to Nagios-plugin	mode 2:	return 0  when	every-
	      thing  is	fine, 'x' when anything	fails. E.g.: 1 => Nagios warn-
	      ing state, 2 => Nagios critical state.

       -n warn,crit
	      Switches HTTPing to Nagios-plugin	mode 1:	 return	 exitcode  '1'
	      when the average response	time is	bigger then 'warn', return ex-
	      itcode  '2'  when	 the  the average response time	is bigger then
	      'crit'. In all other cases return	exitcode '0'.

       -o x,x,...
	      This selects the HTTP status-codes which are regarded as an  OK-
	      state (only with '-m').

       -p portnumber
	      -p  can  be  used	together with -h. -p selects the portnumber to
	      probe.

       -q     Be quiet,	only return an exit-code.

       -R str Referer-string to	send to	the webserver.

       -Q     Use a persistent connection, i.e.	reuse the same TCP  connection
	      for  multiple  HTTP requests. Usually possible when 'Connection:
	      Keep-Alive' is sent by server. Adds  a  'C'  to  the  output  if
	      httping had to reconnect.

       -r     Only  resolve the	hostname once: this takes the resolving	out of
	      the loop so that the latency of the DNS is  not  measured.  Also
	      useful  when  you	want to	measure	only 1 webserver while the DNS
	      returns a	different ip-address for each resolve ('roundrobin').

       -S     Split measured latency in	time to	connect	and time to exchange a
	      request with the HTTP server. Split are returned in the  follow-
	      ing order: Resolve, Connect, Send, Receive, Disconnect.

       -s     When  a  successfull transaction was done, show the HTTP status-
	      code (200, 404, etc.).

       -T x   Read the password	for website authentication from	file 'x'  (in-
	      stead of entering	it on the command line).

       -t timeout
	      How long to wait for answer from the other side.

       -U     Enable authentication against website. Set username with -U, set
	      password with -P (or -T to read the password from	a file).

       -v     Increase verbosity mode. To show standard	deviation and dates in
	      output.

       -W     Do not abort program if resolving	fails.

       -X     Use  this	 switch	 together  with	'-G'. For each "ping" show the
	      amount of	data transferred (excluding the	headers).

       -x proxyhost[:port]
	      Probe using a proxyserver. Note that you're also	measuring  the
	      latency of the proxyserver!

       -Y     Enable colors

       -z     When  connecting	using SSL, display the fingerprint of the X509
	      certificate(s) of	the peer.

       --abbreviate
	      Abbreviate values	bigger than thousand, million, billion,	etc.

       --adaptive-interval or --ai
	      (Try to) ping on the same	interval. E.g. if interval is  set  to
	      1.0  seconds  and	 ping a	ping t[n] occurs at 500s with duration
	      250ms, then the next ping	(t[n+1]) will happen  at  501  seconds
	      and not at 501.25	seconds. Of course when	the ping duration is >
	      bigger  than  the	interval, a ping will be "skipped" (not	liter-
	      ally: the	sequence number	will continue) and t[n+1] will then be
	      e.g. 502s	instead	of the expected	501s. This is useful for exam-
	      ple in the ncurses output	mode where an fft is  calculated  over
	      the ping times.

       --aggregates x[,y[,z[,etc.]]]
	      Show aggregates every x[/y[/z[/etc]]] seconds.

       --divert-connect	x
	      Ignore  the  hostname in the URL and connect to 'x' instead. The
	      given URL	will be	requested at 'x'.

       --draw-phase
	      Not only draw the	magnitude of the fourier transform,  draw  the
	      phase as well.

       --graph-limit x
	      If  values  measured are bigger than x, then they're limitted to
	      x.

       --header	x
	      Add an additional	request-header 'x'.

       --keep-cookies
	      When the server sends a cookie, it will be returned in the  next
	      request.

       --max-mtu x
	      Maximum MTU to use. Cannot be larger than	network	interface MTU.

       --median
	      Calculate	median.

       --no-host-header
	      Do not put a "Host:"-header in the request header.

       --no-tcp-nodelay
	      Do not disable "tcp delay" (Naggle).

       --priority x
	      Set priority of packets.

       --tos x
	      Set type of service.

       --proxy-user x
	      Use  username  'x'  to  authenticate against proxy (http/socks5)
	      server (optional).

       --proxy-password	x
	      Use password 'x' to  authenticate	 against  proxy	 (http/socks5)
	      server (optional).

       --proxy-password-file x
	      Read  password  from  file  'x'  to  authenticate	 against proxy
	      (http/socks5) server (optional).

       --recv-buffer x
	      Set the size of the receive buffer (in bytes).

       --slow-log x
	      When the duration	is x or	more, show ping	line in	the  slow  log
	      window (the middle window).

       --threshold-red x
	      If  the  measured	 threshold is higher than x (and -Y is given),
	      then the shown value is colored red. If you also	use  --thresh-
	      old-yellow, then this value must be bigger.

       --threshold-yellow x
	      If  the  measured	 threshold is higher than x (and -Y is given),
	      then the shown value is colored yellow.

       --threshold-show	x
	      If the measured threshold	is higher than x, then the  result  is
	      shown (default is	show always). The value	x is in	ms.

       --timestamp or --ts
	      Put  a  timestamp	before the result-lines. Use -v	to also	show a
	      date.

       --tx-buffer x
	      Set the size of the transmit buffer (in bytes).

       -V     Show the version and exit.

OUTPUT
       In	 split	      mode	   (-S)		something	  like
       "time=0.08+24.09+23.17+15.64+0.02=62.98	ms"  is	shown. The first value
       is the time it took to resolve the hostname (or 'n/a' if	it did not re-
       solve in	this iteration,	e.g. in	"resolve once" (-r)  mode),  then  the
       time  it	 took  to  connect (or -1 for example in persistent connection
       (-Q, HTTP v1.1),	after that the time it took to put the request on  the
       wire,  then the time it took for	the HTTP server	to process the request
       and send	it back	and lastly the time it took to close the connection.

GRAPH
       The graph in the	ncurses	uses colors to encode a	meaning. Green:	 value
       is  less	 than  1 block.	Red: the value did not fit in the graph. Blue:
       the value was limitted by --graph-limit.	Cyan: no measurement for  that
       point in	time.

KEYS
       Press  <CTRL>  +	 <c> to	exit the program. It will display a summary of
       what was	measured.  In the ncurses gui, press <CTRL> + <l> to  forcibly
       redraw  the  screen.  Press  'H'	 to halt the graphs (and again to con-
       tinue). Press 'q' to stop the program (<CTRL> + <c> will	work too).

EXAMPLES
       httping -g http://localhost/
	      Ping the webserver on host 'localhost'.

       httping -h localhost -p 1000
	      Ping the webserver on host 'localhost' and portnumber 1000.

       httping -l -g https://localhost/
	      Ping the webserver on host 'localhost' using an SSL connection.

       httping -g http://localhost/ -U username	-P password
	      Ping the webserver on host 'localhost' using the Basic HTTP  Au-
	      thentication.

BUGS
       None. This program is totally bug-free.

SEE ALSO
       http://www.vanheusden.com/httping/

NOTES
       This  page describes httping as found in	the httping-2.3	package; other
       versions	may differ slightly.  Please mail corrections and additions to
       mail@vanheusden.com.  Report  bugs  in  the  program  to	 mail@vanheus-
       den.com.

httping				    2023-09			    HTTPING(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=httping&sektion=1&manpath=FreeBSD+Ports+15.0.quarterly>

home | help