Recommended Tool - httpstat
source link: https://fuzzyblog.io/blog/tools/2016/10/03/recommend-tool-httpstat.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Recommended Tool - httpstat
Oct 3, 2016
I ran across Dave Cheney's httpstat tool recently and tried to get it working but I'm not a Go person so that failed. I re-discovered it closing out a metric crap ton of browser tabs and thought "hm… I wonder if it is in brew yet". So a quick:
brew install httpstat
gave it to me perfectly. I can now do things like:
httpstat http://dave.cheney.net/ HTTP/1.1 200 OK Server: nginx/1.2.1 Date: Mon, 03 Oct 2016 08:46:43 GMT Content-Type: text/html; charset=UTF-8 Transfer-Encoding: chunked Connection: keep-alive X-Powered-By: PHP/5.4.45-0+deb7u2 Link: <http://dave.cheney.net/wp-json/>; rel="https://api.w.org/" Body stored in: /var/folders/rf/3tfhwgrj1sl85y6rcs4x_s5c0000gn/T/tmpsGnFLB DNS Lookup TCP Connection Server Processing Content Transfer [ 16ms | 265ms | 932ms | 947ms ] | | | | namelookup:16ms | | | connect:281ms | | starttransfer:1213ms | total:2160ms
Here's an example from one of my current sites (url omitted deliberately):
[email protected]:~/me/fuzzygroup/gocode$ httpstat http://banks.OMITTED.com/ HTTP/1.1 302 Found Cache-Control: no-cache Content-Type: text/html; charset=utf-8 Date: Mon, 03 Oct 2016 08:48:06 GMT Location: http://banks.OMITTED.com/auth/login Server: Apache/2.4.7 (Ubuntu) Set-Cookie: _banks_session=MkhuMmJDWEM5bGp5YUFqNUxNNzRFMlNLUENwam1MODd6YU9HUEZ6MzRvdHQ5RVZFTTF2WC9OcHo3UVNEbm5uRlJlWDJRa1JvL1dFOXN2TEdHWlREL1NrVG9weGlCMXl5OUtyU29lR2VvMm5NQ0hBQU9xZlBKTUEva0RDVFBNdjBHOTI3eXY1dS9nYXVOTUJSd1F2R1d2MVpmdnhXUGt4VUkyOFhVR0hjTUtkTkZNTVlYb1kzTVVKOWIwWXhvNEIzVGRFYmhCWktoVnlOWStPeFU5dXg3TE5ma09VeC9qL0tWK1pQekVYb1ZBaz0tLXVFMHJEMDlEb3ROdGMxanRTQkxEeEE9PQ%3D%3D--51a7cd19b7d987a98bb6071c37c41be2f81cfb22; path=/; HttpOnly Set-Cookie: _passenger_route=1007719246; Path=/ Status: 302 Found X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-Powered-By: Phusion Passenger 5.0.30 X-Request-Id: ae887d90-9484-484a-be35-e13bf3454c3d X-Runtime: 0.002985 X-XSS-Protection: 1; mode=block transfer-encoding: chunked Connection: keep-alive Body stored in: /var/folders/rf/3tfhwgrj1sl85y6rcs4x_s5c0000gn/T/tmp3wlc7H DNS Lookup TCP Connection Server Processing Content Transfer [ 527ms | 66ms | 73ms | 1ms ] | | | | namelookup:527ms | | | connect:593ms | | starttransfer:666ms | total:667ms
Looking at this very clearly shows me that the single biggest slow down here is actually dns. Go figure. If I was optimizing for performance, I would never have thought to investigate a half second of DNS delay.
Thank you Dave Cheney!
Aggregate valuable and interesting links.
Joyk means Joy of geeK