Skip to content

Instantly share code, notes, and snippets.

@wenzowski
Created April 21, 2013 21:07
Show Gist options
  • Save wenzowski/5431073 to your computer and use it in GitHub Desktop.
Save wenzowski/5431073 to your computer and use it in GitHub Desktop.
$ /usr/local/opt/curl/bin/curl --version
curl 7.30.0 (x86_64-apple-darwin12.3.0) libcurl/7.30.0 OpenSSL/0.9.8r zlib/1.2.5
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp
Features: IPv6 Largefile NTLM NTLM_WB SSL libz
$ time /usr/local/opt/curl/bin/curl -I http://www.ent.io --trace-time --trace-ascii -
15:44:32.389241 == Info: About to connect() to www.ent.io port 80 (#0)
15:44:32.389700 == Info: Trying 70.38.36.60...
15:44:32.389861 == Info: Adding handle: conn: 0x7fa062005e00
15:44:32.389872 == Info: Adding handle: send: 0
15:44:32.389879 == Info: Adding handle: recv: 0
15:44:32.389887 == Info: Curl_addHandleToPipeline: length: 1
15:44:32.389898 == Info: - Conn 0 (0x7fa062005e00) send_pipe: 1, recv_pipe: 0
15:44:32.432397 == Info: Connected to www.ent.io (70.38.36.60) port 80 (#0)
15:44:32.432651 => Send header, 75 bytes (0x4b)
0000: HEAD / HTTP/1.1
0011: User-Agent: curl/7.30.0
002a: Host: www.ent.io
003c: Accept: */*
0049:
15:44:33.404445 <= Recv header, 17 bytes (0x11)
0000: HTTP/1.1 200 OK
HTTP/1.1 200 OK
15:44:33.404499 == Info: Server nginx is not blacklisted
15:44:33.404508 <= Recv header, 15 bytes (0xf)
0000: Server: nginx
Server: nginx
15:44:33.404523 <= Recv header, 37 bytes (0x25)
0000: Date: Sun, 21 Apr 2013 19:44:33 GMT
Date: Sun, 21 Apr 2013 19:44:33 GMT
15:44:33.404541 <= Recv header, 25 bytes (0x19)
0000: Content-Type: text/html
Content-Type: text/html
15:44:33.404557 <= Recv header, 22 bytes (0x16)
0000: Content-Length: 1682
Content-Length: 1682
15:44:33.404574 <= Recv header, 24 bytes (0x18)
0000: Connection: keep-alive
Connection: keep-alive
15:44:33.404589 <= Recv header, 40 bytes (0x28)
0000: Expires: Sun, 21 Apr 2013 20:44:33 GMT
Expires: Sun, 21 Apr 2013 20:44:33 GMT
15:44:33.404607 <= Recv header, 51 bytes (0x33)
0000: Cache-Control: public, max-age=3600, no-transform
Cache-Control: public, max-age=3600, no-transform
15:44:33.404654 <= Recv header, 46 bytes (0x2e)
0000: Last-Modified: Sat, 20 Oct 2012 20:23:42 GMT
Last-Modified: Sat, 20 Oct 2012 20:23:42 GMT
15:44:33.404674 <= Recv header, 37 bytes (0x25)
0000: x-goog-generation: 1343405006511004
x-goog-generation: 1343405006511004
15:44:33.404691 <= Recv header, 26 bytes (0x1a)
0000: x-goog-metageneration: 2
x-goog-metageneration: 2
15:44:33.404706 <= Recv header, 43 bytes (0x2b)
0000: x-goog-hash: md5=+vO2ReDaBlm12Nb4UIIpZg==
x-goog-hash: md5=+vO2ReDaBlm12Nb4UIIpZg==
15:44:33.404723 <= Recv header, 27 bytes (0x1b)
0000: X-Edge-IP: 108.163.144.18
X-Edge-IP: 108.163.144.18
15:44:33.407405 <= Recv header, 31 bytes (0x1f)
0000: X-Edge-Location: Montreal, CA
X-Edge-Location: Montreal, CA
15:44:33.407419 <= Recv header, 15 bytes (0xf)
0000: X-Cache: MISS
X-Cache: MISS
15:44:33.407430 <= Recv header, 22 bytes (0x16)
0000: Accept-Ranges: bytes
Accept-Ranges: bytes
15:44:33.407443 <= Recv header, 2 bytes (0x2)
0000:
15:44:33.407464 == Info: Connection #0 to host www.ent.io left intact
/usr/local/opt/curl/bin/curl -I http://www.ent.io --trace-time --trace-ascii 0.00s user 0.00s system 0% cpu 3.236 total
##
# This is the longest-running HEAD trace I accomplished.
# I purged the CDN cache in advance, forcing a cache miss.
#
# 3.236 - (33.407464 - 32.389241) = 2.217
#
# leaves 68% of the execution time unaccounted for
##
$ time /usr/local/opt/curl/bin/curl -I https://google.ca --trace-time --trace-ascii -
15:41:32.787787 == Info: About to connect() to google.ca port 443 (#0)
15:41:32.787963 == Info: Trying 173.194.43.95...
15:41:32.788293 == Info: Adding handle: conn: 0x7f9971005e00
15:41:32.788301 == Info: Adding handle: send: 0
15:41:32.788306 == Info: Adding handle: recv: 0
15:41:32.788312 == Info: Curl_addHandleToPipeline: length: 1
15:41:32.788318 == Info: - Conn 0 (0x7f9971005e00) send_pipe: 1, recv_pipe: 0
15:41:32.806832 == Info: Connected to google.ca (173.194.43.95) port 443 (#0)
15:41:32.807306 == Info: SSLv3, TLS handshake, Client hello (1):
15:41:32.807313 => Send SSL data, 110 bytes (0x6e)
0000: ...j..Qt@.C-s..N..?..K.h .dGXoi..q........9.8.5.......3.2./.....
0040: .....................................google.ca
15:41:32.828629 == Info: SSLv3, TLS handshake, Server hello (2):
15:41:32.828675 <= Recv SSL data, 85 bytes (0x55)
0000: ...Q..Qt@.C...a.......S...Z>+C..&='-.w .g..~:6..<.....8..>h.-..A
0040: I.... ...............
15:41:32.828739 == Info: SSLv3, TLS handshake, CERT (11):
15:41:32.828746 <= Recv SSL data, 1610 bytes (0x64a)
0000: ...F..C...0...0..........@.qz......0...*.H........0F1.0...U....U
0040: S1.0...U....Google Inc1"0 ..U....Google Internet Authority0...13
0080: 0411125349Z..131231155850Z0e1.0...U....US1.0...U....California1.
00c0: 0...U....Mountain View1.0...U....Google Inc1.0...U....*.google.c
0100: a0..0...*.H............0.......b.@..R.M........8Y.DVP ....~...`t
0140: 7h...~Bi..i.$.A..L.t*t....l.( e....?..0....P.......pD.5>....,.._
0180: 8.-w..j"...B...d..^..\.?@.............Y0..U0...U.%..0...+.......
01c0: ..+.......0...U...........0R..D.....z.`.0...U.#..0.....0..C.>g.
0200: ....j..k.$0[..U...T0R0P.N.L.Jhttp://www.gstatic.com/GoogleIntern
0240: etAuthority/GoogleInternetAuthority.crl0f..+........Z0X0V..+....
0280: .0..Jhttp://www.gstatic.com/GoogleInternetAuthority/GoogleIntern
02c0: etAuthority.crt0...U.......0.0!..U....0...*.google.ca..google.ca
0300: 0...*.H............Rf\.2k...y].8..4.eX.?".+=.)K...G.a...........
0340: ...$...."h....gF7....jEVrP..$P.%..I;8.U....l...9DDxV..m.C...c.G#
0380: .....X..e..Ej.........0...0...........w.0...*.H........0N1.0...U
03c0: ....US1.0...U....Equifax1-0+..U...$Equifax Secure Certificate Au
0400: thority0...121212155850Z..131231155850Z0F1.0...U....US1.0...U...
0440: .Google Inc1"0 ..U....Google Internet Authority0..0...*.H.......
0480: .....0............W..>@}....qcS..yt..D.3 ..{.(...lI~._4YN.z0....
04c0: WE....s&..2.....;....6.oQD... Rs.&.5j....Y.+.g.9....l..%..3.G...
0500: Py..i.....Wo........0..0...U.#..0...H.h.+....G.# .O3....0...U...
0540: .....0..C.>g.....j..k.$0...U.......0.......0...U...........0:..U
0580: ...3010/.-.+.)http://crl.geotrust.com/crls/secureca.crl0...*.H..
05c0: .............y.F."l.1.eC`.1P..(...f.\.5.}..NY7...&..g8Z...&2.*..
0600: xP{..~..H...>.:~.`...k...*.P.w3).@.......[.4?%..LHva......P_..d_
0640: G.......~.
15:41:32.887481 == Info: SSLv3, TLS handshake, Server finished (14):
15:41:32.887533 <= Recv SSL data, 4 bytes (0x4)
0000: ....
15:41:32.887718 == Info: SSLv3, TLS handshake, Client key exchange (16):
15:41:32.887724 => Send SSL data, 134 bytes (0x86)
0000: ......I........x...jT.hK....}.d_.Z..|u....lM.#=.#O4.....i./l.@.H
0040: ...L.......a&....N.&.M]O..<.7...pa..sn......[.aM..O....SD....vE.
0080: ..H:..
15:41:32.887744 == Info: SSLv3, TLS change cipher, Client hello (1):
15:41:32.887748 => Send SSL data, 1 bytes (0x1)
0000: .
15:41:32.887804 == Info: SSLv3, TLS handshake, Finished (20):
15:41:32.887809 => Send SSL data, 16 bytes (0x10)
0000: .....9i.......hP
15:41:32.904137 == Info: SSLv3, TLS change cipher, Client hello (1):
15:41:32.904168 <= Recv SSL data, 1 bytes (0x1)
0000: .
15:41:32.904215 == Info: SSLv3, TLS handshake, Finished (20):
15:41:32.904220 <= Recv SSL data, 16 bytes (0x10)
0000: .......8.../..G
15:41:32.904295 == Info: SSL connection using RC4-SHA
15:41:32.904312 == Info: Server certificate:
15:41:32.904334 == Info: subject: C=US; ST=California; L=Mountain View; O=Google Inc; CN=*.google.ca
15:41:32.904341 == Info: start date: 2013-04-11 12:53:49 GMT
15:41:32.904347 == Info: expire date: 2013-12-31 15:58:50 GMT
15:41:32.904379 == Info: subjectAltName: google.ca matched
15:41:32.904394 == Info: issuer: C=US; O=Google Inc; CN=Google Internet Authority
15:41:32.904401 == Info: SSL certificate verify ok.
15:41:32.904463 => Send header, 74 bytes (0x4a)
0000: HEAD / HTTP/1.1
0011: User-Agent: curl/7.30.0
002a: Host: google.ca
003b: Accept: */*
0048:
15:41:32.953812 <= Recv header, 32 bytes (0x20)
0000: HTTP/1.1 301 Moved Permanently
HTTP/1.1 301 Moved Permanently
15:41:32.953857 <= Recv header, 34 bytes (0x22)
0000: Location: https://www.google.ca/
Location: https://www.google.ca/
15:41:32.953869 <= Recv header, 40 bytes (0x28)
0000: Content-Type: text/html; charset=UTF-8
Content-Type: text/html; charset=UTF-8
15:41:32.953880 <= Recv header, 37 bytes (0x25)
0000: Date: Sun, 21 Apr 2013 19:41:32 GMT
Date: Sun, 21 Apr 2013 19:41:32 GMT
15:41:32.953890 <= Recv header, 40 bytes (0x28)
0000: Expires: Tue, 21 May 2013 19:41:32 GMT
Expires: Tue, 21 May 2013 19:41:32 GMT
15:41:32.953901 <= Recv header, 40 bytes (0x28)
0000: Cache-Control: public, max-age=2592000
Cache-Control: public, max-age=2592000
15:41:32.953913 == Info: Server gws is not blacklisted
15:41:32.953919 <= Recv header, 13 bytes (0xd)
0000: Server: gws
Server: gws
15:41:32.953928 <= Recv header, 21 bytes (0x15)
0000: Content-Length: 219
Content-Length: 219
15:41:32.953937 <= Recv header, 33 bytes (0x21)
0000: X-XSS-Protection: 1; mode=block
X-XSS-Protection: 1; mode=block
15:41:32.953946 <= Recv header, 29 bytes (0x1d)
0000: X-Frame-Options: SAMEORIGIN
X-Frame-Options: SAMEORIGIN
15:41:32.953957 <= Recv header, 2 bytes (0x2)
0000:
15:41:32.953984 == Info: Connection #0 to host google.ca left intact
/usr/local/opt/curl/bin/curl -I https://google.ca --trace-time --trace-ascii 0.01s user 0.00s system 6% cpu 0.178 total
##
# 0.178 - (2.953984-2.787787) = 0.012
#
# leaves 6.7% of execution time unaccounted for
##
$ num=0; while [ $num -le 10 ]; do time /usr/local/opt/curl/bin/curl -I https://google.ca &>/dev/null; num=$(expr $num + 1); done
/usr/local/opt/curl/bin/curl -I https://google.ca &> /dev/null 0.01s user 0.00s system 6% cpu 0.184 total
/usr/local/opt/curl/bin/curl -I https://google.ca &> /dev/null 0.01s user 0.00s system 7% cpu 0.133 total
/usr/local/opt/curl/bin/curl -I https://google.ca &> /dev/null 0.01s user 0.00s system 7% cpu 0.138 total
/usr/local/opt/curl/bin/curl -I https://google.ca &> /dev/null 0.01s user 0.00s system 7% cpu 0.140 total
/usr/local/opt/curl/bin/curl -I https://google.ca &> /dev/null 0.00s user 0.00s system 6% cpu 0.149 total
/usr/local/opt/curl/bin/curl -I https://google.ca &> /dev/null 0.01s user 0.00s system 6% cpu 0.139 total
/usr/local/opt/curl/bin/curl -I https://google.ca &> /dev/null 0.01s user 0.00s system 7% cpu 0.135 total
/usr/local/opt/curl/bin/curl -I https://google.ca &> /dev/null 0.01s user 0.00s system 8% cpu 0.132 total
/usr/local/opt/curl/bin/curl -I https://google.ca &> /dev/null 0.01s user 0.01s system 8% cpu 0.138 total
/usr/local/opt/curl/bin/curl -I https://google.ca &> /dev/null 0.01s user 0.00s system 7% cpu 0.132 total
/usr/local/opt/curl/bin/curl -I https://google.ca &> /dev/null 0.01s user 0.00s system 6% cpu 0.144 total
$ num=0; while [ $num -le 10 ]; do time /usr/local/opt/curl/bin/curl -I https://rvm.io/binaries/ubuntu/12.04/i386/ruby-2.0.0-p0.tar.bz2 &>/dev/null; num=$(expr $num + 1); done
/usr/local/opt/curl/bin/curl -I &> /dev/null 0.01s user 0.00s system 0% cpu 5.446 total
/usr/local/opt/curl/bin/curl -I &> /dev/null 0.01s user 0.00s system 0% cpu 5.455 total
/usr/local/opt/curl/bin/curl -I &> /dev/null 0.01s user 0.00s system 0% cpu 5.512 total
/usr/local/opt/curl/bin/curl -I &> /dev/null 0.01s user 0.00s system 0% cpu 5.477 total
/usr/local/opt/curl/bin/curl -I &> /dev/null 0.01s user 0.01s system 0% cpu 5.451 total
/usr/local/opt/curl/bin/curl -I &> /dev/null 0.01s user 0.00s system 0% cpu 5.458 total
/usr/local/opt/curl/bin/curl -I &> /dev/null 0.01s user 0.00s system 0% cpu 5.454 total
/usr/local/opt/curl/bin/curl -I &> /dev/null 0.01s user 0.00s system 0% cpu 5.446 total
/usr/local/opt/curl/bin/curl -I &> /dev/null 0.01s user 0.00s system 0% cpu 5.451 total
/usr/local/opt/curl/bin/curl -I &> /dev/null 0.02s user 0.00s system 0% cpu 5.451 total
/usr/local/opt/curl/bin/curl -I &> /dev/null 0.01s user 0.00s system 0% cpu 5.449 total
$ num=0; while [ $num -le 10 ]; do time /usr/local/opt/curl/bin/curl -I http://www.akamai.com &>/dev/null; num=$(expr $num + 1); done
/usr/local/opt/curl/bin/curl -I http://www.akamai.com &> /dev/null 0.00s user 0.00s system 11% cpu 0.075 total
/usr/local/opt/curl/bin/curl -I http://www.akamai.com &> /dev/null 0.00s user 0.00s system 12% cpu 0.057 total
/usr/local/opt/curl/bin/curl -I http://www.akamai.com &> /dev/null 0.00s user 0.00s system 12% cpu 0.064 total
/usr/local/opt/curl/bin/curl -I http://www.akamai.com &> /dev/null 0.00s user 0.00s system 17% cpu 0.045 total
/usr/local/opt/curl/bin/curl -I http://www.akamai.com &> /dev/null 0.00s user 0.00s system 17% cpu 0.044 total
/usr/local/opt/curl/bin/curl -I http://www.akamai.com &> /dev/null 0.00s user 0.00s system 16% cpu 0.050 total
/usr/local/opt/curl/bin/curl -I http://www.akamai.com &> /dev/null 0.00s user 0.00s system 16% cpu 0.046 total
/usr/local/opt/curl/bin/curl -I http://www.akamai.com &> /dev/null 0.00s user 0.00s system 16% cpu 0.044 total
/usr/local/opt/curl/bin/curl -I http://www.akamai.com &> /dev/null 0.00s user 0.00s system 17% cpu 0.048 total
/usr/local/opt/curl/bin/curl -I http://www.akamai.com &> /dev/null 0.00s user 0.00s system 17% cpu 0.045 total
/usr/local/opt/curl/bin/curl -I http://www.akamai.com &> /dev/null 0.00s user 0.00s system 16% cpu 0.044 total
$ num=0; while [ $num -le 10 ]; do time /usr/local/opt/curl/bin/curl -I https://bluebox.net &>/dev/null; num=$(expr $num + 1); done
/usr/local/opt/curl/bin/curl -I https://bluebox.net &> /dev/null 0.01s user 0.00s system 0% cpu 1.287 total
/usr/local/opt/curl/bin/curl -I https://bluebox.net &> /dev/null 0.01s user 0.00s system 2% cpu 0.433 total
/usr/local/opt/curl/bin/curl -I https://bluebox.net &> /dev/null 0.01s user 0.00s system 2% cpu 0.439 total
/usr/local/opt/curl/bin/curl -I https://bluebox.net &> /dev/null 0.01s user 0.00s system 2% cpu 0.416 total
/usr/local/opt/curl/bin/curl -I https://bluebox.net &> /dev/null 0.01s user 0.00s system 2% cpu 0.414 total
/usr/local/opt/curl/bin/curl -I https://bluebox.net &> /dev/null 0.01s user 0.00s system 2% cpu 0.419 total
/usr/local/opt/curl/bin/curl -I https://bluebox.net &> /dev/null 0.01s user 0.00s system 2% cpu 0.478 total
/usr/local/opt/curl/bin/curl -I https://bluebox.net &> /dev/null 0.01s user 0.00s system 2% cpu 0.427 total
/usr/local/opt/curl/bin/curl -I https://bluebox.net &> /dev/null 0.01s user 0.00s system 2% cpu 0.420 total
/usr/local/opt/curl/bin/curl -I https://bluebox.net &> /dev/null 0.01s user 0.00s system 2% cpu 0.411 total
/usr/local/opt/curl/bin/curl -I https://bluebox.net &> /dev/null 0.01s user 0.00s system 2% cpu 0.412 total
$ num=0; while [ $num -le 10 ]; do time /usr/local/opt/curl/bin/curl -I https://www.eff.org &>/dev/null; num=$(expr $num + 1); done
/usr/local/opt/curl/bin/curl -I https://www.eff.org &> /dev/null 0.01s user 0.01s system 0% cpu 1.201 total
/usr/local/opt/curl/bin/curl -I https://www.eff.org &> /dev/null 0.01s user 0.01s system 3% cpu 0.391 total
/usr/local/opt/curl/bin/curl -I https://www.eff.org &> /dev/null 0.01s user 0.01s system 2% cpu 0.369 total
/usr/local/opt/curl/bin/curl -I https://www.eff.org &> /dev/null 0.01s user 0.00s system 2% cpu 0.402 total
/usr/local/opt/curl/bin/curl -I https://www.eff.org &> /dev/null 0.01s user 0.00s system 3% cpu 0.381 total
/usr/local/opt/curl/bin/curl -I https://www.eff.org &> /dev/null 0.01s user 0.01s system 3% cpu 0.383 total
/usr/local/opt/curl/bin/curl -I https://www.eff.org &> /dev/null 0.01s user 0.01s system 3% cpu 0.387 total
/usr/local/opt/curl/bin/curl -I https://www.eff.org &> /dev/null 0.01s user 0.01s system 3% cpu 0.380 total
/usr/local/opt/curl/bin/curl -I https://www.eff.org &> /dev/null 0.01s user 0.00s system 2% cpu 0.398 total
/usr/local/opt/curl/bin/curl -I https://www.eff.org &> /dev/null 0.01s user 0.00s system 2% cpu 0.373 total
/usr/local/opt/curl/bin/curl -I https://www.eff.org &> /dev/null 0.01s user 0.00s system 2% cpu 0.379 total
$ num=0; while [ $num -le 10 ]; do time /usr/local/opt/curl/bin/curl -I http://www.ent.io &>/dev/null; num=$(expr $num + 1); done
/usr/local/opt/curl/bin/curl -I http://www.ent.io &> /dev/null 0.00s user 0.00s system 0% cpu 2.210 total
/usr/local/opt/curl/bin/curl -I http://www.ent.io &> /dev/null 0.00s user 0.00s system 0% cpu 5.089 total
/usr/local/opt/curl/bin/curl -I http://www.ent.io &> /dev/null 0.00s user 0.00s system 0% cpu 5.087 total
/usr/local/opt/curl/bin/curl -I http://www.ent.io &> /dev/null 0.00s user 0.00s system 0% cpu 5.087 total
/usr/local/opt/curl/bin/curl -I http://www.ent.io &> /dev/null 0.00s user 0.00s system 0% cpu 5.090 total
/usr/local/opt/curl/bin/curl -I http://www.ent.io &> /dev/null 0.00s user 0.00s system 0% cpu 5.092 total
/usr/local/opt/curl/bin/curl -I http://www.ent.io &> /dev/null 0.00s user 0.00s system 0% cpu 5.103 total
/usr/local/opt/curl/bin/curl -I http://www.ent.io &> /dev/null 0.00s user 0.00s system 0% cpu 5.092 total
/usr/local/opt/curl/bin/curl -I http://www.ent.io &> /dev/null 0.00s user 0.00s system 0% cpu 5.091 total
/usr/local/opt/curl/bin/curl -I http://www.ent.io &> /dev/null 0.00s user 0.00s system 0% cpu 5.091 total
/usr/local/opt/curl/bin/curl -I http://www.ent.io &> /dev/null 0.00s user 0.00s system 0% cpu 5.092 total
$ num=0; while [ $num -le 10 ]; do time /usr/local/opt/curl/bin/curl -I http://entio.cli.ent.io &>/dev/null; num=$(expr $num + 1); done
/usr/local/opt/curl/bin/curl -I http://entio.cli.ent.io &> /dev/null 0.00s user 0.00s system 1% cpu 0.527 total
/usr/local/opt/curl/bin/curl -I http://entio.cli.ent.io &> /dev/null 0.00s user 0.00s system 7% cpu 0.110 total
/usr/local/opt/curl/bin/curl -I http://entio.cli.ent.io &> /dev/null 0.00s user 0.00s system 7% cpu 0.114 total
/usr/local/opt/curl/bin/curl -I http://entio.cli.ent.io &> /dev/null 0.00s user 0.00s system 6% cpu 0.125 total
/usr/local/opt/curl/bin/curl -I http://entio.cli.ent.io &> /dev/null 0.00s user 0.00s system 6% cpu 0.116 total
/usr/local/opt/curl/bin/curl -I http://entio.cli.ent.io &> /dev/null 0.00s user 0.00s system 8% cpu 0.109 total
/usr/local/opt/curl/bin/curl -I http://entio.cli.ent.io &> /dev/null 0.00s user 0.00s system 6% cpu 0.118 total
/usr/local/opt/curl/bin/curl -I http://entio.cli.ent.io &> /dev/null 0.00s user 0.00s system 7% cpu 0.107 total
/usr/local/opt/curl/bin/curl -I http://entio.cli.ent.io &> /dev/null 0.00s user 0.00s system 5% cpu 0.129 total
/usr/local/opt/curl/bin/curl -I http://entio.cli.ent.io &> /dev/null 0.00s user 0.00s system 8% cpu 0.111 total
/usr/local/opt/curl/bin/curl -I http://entio.cli.ent.io &> /dev/null 0.00s user 0.00s system 7% cpu 0.110 total
##
# Note: http://entio.cli.ent.io is the origin server for http://www.ent.io
##
$ ping www.google.ca
PING www.google.ca (173.194.43.87): 56 data bytes
64 bytes from 173.194.43.87: icmp_seq=0 ttl=58 time=16.895 ms
64 bytes from 173.194.43.87: icmp_seq=1 ttl=58 time=15.915 ms
64 bytes from 173.194.43.87: icmp_seq=2 ttl=58 time=18.224 ms
64 bytes from 173.194.43.87: icmp_seq=3 ttl=58 time=18.087 ms
64 bytes from 173.194.43.87: icmp_seq=4 ttl=58 time=15.213 ms
64 bytes from 173.194.43.87: icmp_seq=5 ttl=58 time=18.418 ms
64 bytes from 173.194.43.87: icmp_seq=6 ttl=58 time=19.378 ms
64 bytes from 173.194.43.87: icmp_seq=7 ttl=58 time=16.231 ms
64 bytes from 173.194.43.87: icmp_seq=8 ttl=58 time=17.728 ms
64 bytes from 173.194.43.87: icmp_seq=9 ttl=58 time=18.737 ms
^C
--- www.google.ca ping statistics ---
10 packets transmitted, 10 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 15.213/17.483/19.378/1.286 ms
$ ping www.ent.io
PING 319261414.r.cdn77.net (70.38.36.60): 56 data bytes
64 bytes from 70.38.36.60: icmp_seq=0 ttl=55 time=37.132 ms
64 bytes from 70.38.36.60: icmp_seq=1 ttl=55 time=39.943 ms
64 bytes from 70.38.36.60: icmp_seq=2 ttl=55 time=41.123 ms
64 bytes from 70.38.36.60: icmp_seq=3 ttl=55 time=40.093 ms
64 bytes from 70.38.36.60: icmp_seq=4 ttl=55 time=38.002 ms
64 bytes from 70.38.36.60: icmp_seq=5 ttl=55 time=40.191 ms
64 bytes from 70.38.36.60: icmp_seq=6 ttl=55 time=47.293 ms
64 bytes from 70.38.36.60: icmp_seq=7 ttl=55 time=39.738 ms
64 bytes from 70.38.36.60: icmp_seq=8 ttl=55 time=41.326 ms
64 bytes from 70.38.36.60: icmp_seq=9 ttl=55 time=40.238 ms
^C
--- 319261414.r.cdn77.net ping statistics ---
10 packets transmitted, 10 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 37.132/40.508/47.293/2.569 ms
$ ping rvm.io
PING rvm.io (208.85.148.213): 56 data bytes
64 bytes from 208.85.148.213: icmp_seq=0 ttl=53 time=81.416 ms
64 bytes from 208.85.148.213: icmp_seq=1 ttl=53 time=79.115 ms
64 bytes from 208.85.148.213: icmp_seq=2 ttl=53 time=78.299 ms
64 bytes from 208.85.148.213: icmp_seq=3 ttl=53 time=81.184 ms
64 bytes from 208.85.148.213: icmp_seq=4 ttl=53 time=81.027 ms
64 bytes from 208.85.148.213: icmp_seq=5 ttl=53 time=82.942 ms
64 bytes from 208.85.148.213: icmp_seq=6 ttl=53 time=81.162 ms
64 bytes from 208.85.148.213: icmp_seq=7 ttl=53 time=78.013 ms
64 bytes from 208.85.148.213: icmp_seq=8 ttl=53 time=81.412 ms
64 bytes from 208.85.148.213: icmp_seq=9 ttl=53 time=80.892 ms
^C
--- rvm.io ping statistics ---
10 packets transmitted, 10 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 78.013/80.546/82.942/1.480 ms
$ time /usr/local/opt/curl/bin/curl -I https://rvm.io/binaries/ubuntu/12.04/i386/ruby-2.0.0-p0.tar.bz2 --trace-time --trace-ascii -
16:02:01.044550 == Info: About to connect() to rvm.io port 443 (#0)
16:02:01.044921 == Info: Trying 208.85.148.213...
16:02:01.045094 == Info: Adding handle: conn: 0x7ff17b005e00
16:02:01.045105 == Info: Adding handle: send: 0
16:02:01.045113 == Info: Adding handle: recv: 0
16:02:01.045120 == Info: Curl_addHandleToPipeline: length: 1
16:02:01.045131 == Info: - Conn 0 (0x7ff17b005e00) send_pipe: 1, recv_pipe: 0
16:02:01.125752 == Info: Connected to rvm.io (208.85.148.213) port 443 (#0)
16:02:01.126574 == Info: SSLv3, TLS handshake, Client hello (1):
16:02:01.126589 => Send SSL data, 107 bytes (0x6b)
0000: ...g..QtE.0K..*........I....q.g...U.......9.8.5.......3.2./.....
0040: .....................................rvm.io
16:02:01.206270 == Info: SSLv3, TLS handshake, Server hello (2):
16:02:01.206312 <= Recv SSL data, 85 bytes (0x55)
0000: ...Q..QtE..._..L.......g[.A+$yTZ...... .P..>.C.9.p....#..]g.8)..
0040: ..9..X$.9............
16:02:01.286630 == Info: SSLv3, TLS handshake, CERT (11):
16:02:01.286668 <= Recv SSL data, 6124 bytes (0x17ec)
0000: .........<0..80.. ...........tD..........%0...*.H........0r1.0..
0040: .U....GB1.0...U....Greater Manchester1.0...U....Salford1.0...U..
0080: ..COMODO CA Limited1.0...U....EssentialSSL CA0...130217000000Z..
00c0: 140418235959Z0V1!0...U....Domain Control Validated1.0...U....Ess
0100: entialSSL Wildcard1.0...U....*.rvm.io0..R0...*.H...........?.0..
0140: :...1..-..,....s........~...4.QLmF."...`Z...I...l.<.....UG1].la.
0180: ...........W...;R..s..Q...-.#.Q...s)..%q..oDr..4)........(.\..60
01c0: .......zN.C.p.[..8w..Va..7..H......U....q.....'.G...n.../.W.....
0200: .<.A.............#V.......i..i+.A}A.....W..op...P.B...u..8.AF...
0240: .1n...j....)N..:Bh!%[.,'x..Z......[.>..8.\Qjy..eb.g............0
0280: ...0...U.#..0.......[.]...&T.I.U.8..0...U.........G..H......./t.
02c0: x..0...U...........0...U.......0.04..U.%.-0+..+.........+.......
0300: ..+.....7.....`.H...B..0O..U. .H0F0:..+.....1....0+0)..+........
0340: .https://secure.comodo.com/CPS0...g.....0;..U...40200...,.*http:
0380: //crl.comodoca.com/EssentialSSLCA.crl0n..+........b0`08..+.....0
03c0: ..,http://crt.comodoca.com/EssentialSSLCA_2.crt0$..+.....0...htt
0400: p://ocsp.comodoca.com0...U....0...*.rvm.io..rvm.io0...*.H.......
0440: ....../.]....i..h..R!...qJ.......h..~.r.Y..0.[X.......<|...i>.5n
0480: .+.O..o.g..i...5.N.....A>..|... .'.[..s...8'kM.5....4.T.aF.QA.L
04c0: ..../!..L\H;q..f0.d...>,..n2n.2....j~..q\......!..Vl.O.T....\...
0500: Z...B.1.f......S..U.bs..}.I?.CD2.@.&....W.{zQ...Ds{w..'.....DG.^
0540: ...#.....0...0......................&F*J0...*.H........0..1.0...
0580: U....GB1.0...U....Greater Manchester1.0...U....Salford1.0...U...
05c0: .COMODO CA Limited1'0%..U....COMODO Certification Authority0...0
0600: 61201000000Z..191231235959Z0r1.0...U....GB1.0...U....Greater Man
0640: chester1.0...U....Salford1.0...U....COMODO CA Limited1.0...U....
0680: EssentialSSL CA0.."0...*.H.............0............r....1.p...
06c0: ...j.......Y-..!.v.?..F.c.. .......Z...v..#:t^a.u......x..-.....
0700: ..y=Z..!-..!S.:.!~..gou...j[..j....j..ml....7.!.5.}...\....... _
0740: ....8...........!.E$P]'*.(AE[}.../..~[S....W~..;...v..}..Q..8.{
0780: ..uY..Y..>....-.y.]........H.j.-.e....D...~~../.........0..0..
07c0: .U.#..0....X...L.7.@.0.!.G6ZV.0...U..........[.]...&T.I.U.8..0..
0800: .U...........0...U.......0.......0 ..U.%..0...+.....7.....`.H...
0840: B..0>..U. .70503..U. .0+0)..+.........https://secure.comodo.com/
0880: CPS0I..U...B0@0>.<.:.8http://crl.comodoca.com/COMODOCertificatio
08c0: nAuthority.crl0l..+........`0^06..+.....0..*http://crt.comodoca.
0900: com/ComodoUTNSGCCA.crt0$..+.....0...http://ocsp.comodoca.com0...
0940: *.H.............-.4z@2.p./.;Ky.w......._....M..7z.........'..E..
0980: R...'.t.....C....x....p..z1.).YkL3.,....cWV.$g.[/)....$..b.~y...
09c0: ..';..C.n......j..|..q..O.8.B.....#........V............o.l3.>W.
0a00: ....*|.,LF_..a.+.5..X.:.D....Lk.w.......K]%.=^.w..>....pI<....H.
0a40: .R.......Vh....d...0...0...........y..........n.zD0...*.H.......
0a80: .0..1.0...U....US1.0...U....UT1.0...U....Salt Lake City1.0...U..
0ac0: ..The USERTRUST Network1!0...U....http://www.usertrust.com1.0...
0b00: U....UTN - DATACorp SGC0...061201000000Z..200530104838Z0..1.0...
0b40: U....GB1.0...U....Greater Manchester1.0...U....Salford1.0...U...
0b80: .COMODO CA Limited1'0%..U....COMODO Certification Authority0.."0
0bc0: ...*.H.............0.........@..r....Q..T........];......./?....
0c00: )P...;.W.tQq..B.MA....j.wD.Yf.P^..,pD..7.Bi<0.q.R.!M...9|...$...
0c40: ....|C..[..4...b&.F.?.....W..z...r0jf..F.p.h...H.w....gmA..9.2.b
0c80: ....=n7../...&...UC..#>..$9jG......%..?....Q.....8.UP$.eF.4O-...
0cc0: .!.....aq.sG......M.N..H..&..........0...0...U.#..0...S2.......
0d00: ].N...E..O0...U.......X...L.7.@.0.!.G6ZV.0...U...........0...U..
0d40: .....0....0 ..U.%..0...+.....7.....`.H...B..0...U. ..0.0...U. .0
0d80: m..U...f0d01./.-.+http://crl.comodoca.com/UTN-DATACorpSGC.crl0/.
0dc0: -.+.)http://crl.comodo.net/UTN-DATACorpSGC.crl0...*.H...........
0e00: ...^.....C....gE...7....75.....}B....\Ck.D..$a:B...L.y9p... N..<
0e40: ..`.cC@.j..IF....K...6I.o.....W..m..(....(...Y.......Lfl.U.V.2..
0e80: .}..:./....P..N...~\..<;M.Pp.e+..k..%......e.....!.w..t.S..9P...
0ec0: .a.....j.\.h....G_..-./....1.@..n...0..P......|...=..o.m.....J.p
0f00: .....0...0..........F....L...e.n.B.d0...*.H........0o1.0...U....
0f40: SE1.0...U....AddTrust AB1&0$..U....AddTrust External TTP Network
0f80: 1"0 ..U....AddTrust External CA Root0...050607080910Z..200530104
0fc0: 838Z0..1.0...U....US1.0...U....UT1.0...U....Salt Lake City1.0...
1000: U....The USERTRUST Network1!0...U....http://www.usertrust.com1.0
1040: ...U....UTN - DATACorp SGC0.."0...*.H.............0..........X..
1080: +nU....F......+z........e............G......p..n.VB...\.#.!..v'.
10c0: .O.......c.....SH...);....L....Yh.p.S..^P..Vo6.J.D..MN.GnIJ.g...
1100: .........6...l.3"...........2?)*.{...N.T|........\.^.>...G.j.q..
1140: .*._B...F0.r...Vm...x.a.....L...i........5....(.\:.p.3 w........
1180: ....0...0...U.#..0......z4.&...&T....$.T.0...U......S2.......].
11c0: N...E..O0...U...........0...U.......0....0 ..U.%..0...+.....7...
1200: ..`.H...B..0...U. ..0.0...U. .0{..U...t0r08.6.4.2http://crl.como
1240: doca.com/AddTrustExternalCARoot.crl06.4.2.0http://crl.comodo.net
1280: /AddTrustExternalCARoot.crl0...*.H.............c......7..*...C.\
12c0: .....i@..q.....$J..........~G..].|....3..[...R."Xt.C.?..X.....:
1300: ........{...r...-..Qf.s..~..S.}i..>..VP~....9be...W...`...4..OC.
1340: ..........?...m...8.9`.~0...>..co,..h,..i..a.ON..rL.y8..Hio..t..
1380: ..WM.uq.........<}...Fj8......eu.....w.S.%.G.s_..:0..60.........
13c0: ..0...*.H........0o1.0...U....SE1.0...U....AddTrust AB1&0$..U...
1400: .AddTrust External TTP Network1"0 ..U....AddTrust External CA Ro
1440: ot0...000530104838Z..200530104838Z0o1.0...U....SE1.0...U....AddT
1480: rust AB1&0$..U....AddTrust External TTP Network1"0 ..U....AddTru
14c0: st External CA Root0.."0...*.H.............0...........3....-9.N
1500: [...l....#.....3..)L}...J.........mPZ..).Z..Iz.......78-.>.A.pV.
1540: .O?.2.t...T.._.x..@<..a.^.....jP...N....q..q.P`....8......i&...L
1580: .O#.:O......io..B.kD....mA_rZq.7.ye.Y..7../...r..8r...E.]*}.....
15c0: ...D..+.C.%.a.ijX#...3.VuY..).F..+e..Bo...{...]S.4Z'........0..0
1600: ...U.........z4.&...&T....$.T.0...U........0...U.......0....0...
1640: .U.#...0.......z4.&...&T....$.T..s.q0o1.0...U....SE1.0...U....Ad
1680: dTrust AB1&0$..U....AddTrust External TTP Network1"0 ..U....AddT
16c0: rust External CA Root...0...*.H.................%..#......A....y
1700: ...[..#6e...w..AlG`.Q..2=...&......Z...xy.!..L...5...Q.....~N.p.
1740: .9...Q.-......Fu.$...B...p.g...5J..+z.QB.zc.....+.6.....c~y{...@
1780: .j........B.Q.E...b!h. C<..|.$....s.?V.18..q...............1.DL.
17c0: .sIv`......k...L.Z.y. ....c&.U.....Z{....N..
16:02:01.354650 == Info: SSLv3, TLS handshake, Server key exchange (12):
16:02:01.354675 <= Recv SSL data, 573 bytes (0x23d)
0000: ...9....-..Ft.|C.......X..h.-K......PLl..v....\....&.....e......
0040: ....w.`....W...h.v..l.......,.%..bp..P5......'Jc..X..I...].gW...
0080: .E..k......X...5J......A.(b..E.v.]..2.........s.X..}B.H.E.....a
00c0: e.]...3\...M".._.-.....O..0..o.8.".................+....P.w...2.
0100: yz.].>..h[c.0...."..1e...s...~0D._>tL.,0@..8"J.......Fy..T....G.
0140: ...].f...\..9^.gt..6..zFv..EZ*........\k.f... ....k...J(.}...w=.
0180: N.@t...B.=...y.\.....p..a..y j. .+.!.V.t........|9.W...t:ZC..c.
01c0: 21.%'.../...-W2......F.K...[.y...-_*.V...,.'....E.Q.a.o....Sw...
0200: ...Re..j......iSdh.....b~i..vb.OK.....]3..=..t.sg*....7.J....
16:02:01.355124 == Info: SSLv3, TLS handshake, Server finished (14):
16:02:01.355131 <= Recv SSL data, 4 bytes (0x4)
0000: ....
16:02:01.363443 == Info: SSLv3, TLS handshake, Client key exchange (16):
16:02:01.363460 => Send SSL data, 134 bytes (0x86)
0000: ...........r.<..........,.s,......Q7...#.M4.O......^..2..Z[7.&.
0040: ..a..,...W4-Q......q.......\..._^.....F..;.........(...(ANq,...F
0080: h.}...
16:02:01.363481 == Info: SSLv3, TLS change cipher, Client hello (1):
16:02:01.363485 => Send SSL data, 1 bytes (0x1)
0000: .
16:02:01.363551 == Info: SSLv3, TLS handshake, Finished (20):
16:02:01.363557 => Send SSL data, 16 bytes (0x10)
0000: .....sT...\#/2./
16:02:01.445123 == Info: SSLv3, TLS change cipher, Client hello (1):
16:02:01.445158 <= Recv SSL data, 1 bytes (0x1)
0000: .
16:02:01.445232 == Info: SSLv3, TLS handshake, Finished (20):
16:02:01.445242 <= Recv SSL data, 16 bytes (0x10)
0000: ....'..yJ..Y<..0
16:02:01.445291 == Info: SSL connection using DHE-RSA-AES256-SHA
16:02:01.445318 == Info: Server certificate:
16:02:01.445350 == Info: subject: OU=Domain Control Validated; OU=EssentialSSL Wildcard; CN=*.rvm.io
16:02:01.445363 == Info: start date: 2013-02-17 00:00:00 GMT
16:02:01.445372 == Info: expire date: 2014-04-18 23:59:59 GMT
16:02:01.445413 == Info: subjectAltName: rvm.io matched
16:02:01.445441 == Info: issuer: C=GB; ST=Greater Manchester; L=Salford; O=COMODO CA Limited; CN=EssentialSSL CA
16:02:01.445454 == Info: SSL certificate verify ok.
16:02:01.445554 => Send header, 119 bytes (0x77)
0000: HEAD /binaries/ubuntu/12.04/i386/ruby-2.0.0-p0.tar.bz2 HTTP/1.1
0041: User-Agent: curl/7.30.0
005a: Host: rvm.io
0068: Accept: */*
0075:
16:02:01.524203 <= Recv header, 17 bytes (0x11)
0000: HTTP/1.1 200 OK
HTTP/1.1 200 OK
16:02:01.524250 == Info: Server nginx/1.2.7 is not blacklisted
16:02:01.524256 <= Recv header, 21 bytes (0x15)
0000: Server: nginx/1.2.7
Server: nginx/1.2.7
16:02:01.524267 <= Recv header, 37 bytes (0x25)
0000: Date: Sun, 21 Apr 2013 20:02:01 GMT
Date: Sun, 21 Apr 2013 20:02:01 GMT
16:02:01.524278 <= Recv header, 40 bytes (0x28)
0000: Content-Type: application/octet-stream
Content-Type: application/octet-stream
16:02:01.524290 <= Recv header, 26 bytes (0x1a)
0000: Content-Length: 19433507
Content-Length: 19433507
16:02:01.524320 <= Recv header, 46 bytes (0x2e)
0000: Last-Modified: Sun, 24 Feb 2013 14:32:17 GMT
Last-Modified: Sun, 24 Feb 2013 14:32:17 GMT
16:02:01.524334 <= Recv header, 24 bytes (0x18)
0000: Connection: keep-alive
Connection: keep-alive
16:02:01.524344 <= Recv header, 22 bytes (0x16)
0000: Accept-Ranges: bytes
Accept-Ranges: bytes
16:02:01.524356 <= Recv header, 2 bytes (0x2)
0000:
16:02:01.524378 == Info: Connection #0 to host rvm.io left intact
/usr/local/opt/curl/bin/curl -I --trace-time --trace-ascii - 0.02s user 0.01s system 0% cpu 5.492 total
##
# 5.492 - (1.524378 - 1.044550) = 5.012
#
# leaves 92% of execution time unaccounted for
##
$ time /usr/local/opt/curl/bin/curl -I http://rvm.io/binaries/ubuntu/12.04/i386/ruby-2.0.0-p0.tar.bz2 --trace-time --trace-ascii -
16:05:32.792055 == Info: About to connect() to rvm.io port 80 (#0)
16:05:32.792427 == Info: Trying 208.85.148.213...
16:05:32.792597 == Info: Adding handle: conn: 0x7fb450805e00
16:05:32.792609 == Info: Adding handle: send: 0
16:05:32.792616 == Info: Adding handle: recv: 0
16:05:32.792623 == Info: Curl_addHandleToPipeline: length: 1
16:05:32.792634 == Info: - Conn 0 (0x7fb450805e00) send_pipe: 1, recv_pipe: 0
16:05:32.874250 == Info: Connected to rvm.io (208.85.148.213) port 80 (#0)
16:05:32.874370 => Send header, 119 bytes (0x77)
0000: HEAD /binaries/ubuntu/12.04/i386/ruby-2.0.0-p0.tar.bz2 HTTP/1.1
0041: User-Agent: curl/7.30.0
005a: Host: rvm.io
0068: Accept: */*
0075:
16:05:32.953239 <= Recv header, 32 bytes (0x20)
0000: HTTP/1.1 301 Moved Permanently
HTTP/1.1 301 Moved Permanently
16:05:32.953292 == Info: Server nginx/1.2.7 is not blacklisted
16:05:32.953299 <= Recv header, 21 bytes (0x15)
0000: Server: nginx/1.2.7
Server: nginx/1.2.7
16:05:32.953311 <= Recv header, 37 bytes (0x25)
0000: Date: Sun, 21 Apr 2013 20:05:32 GMT
Date: Sun, 21 Apr 2013 20:05:32 GMT
16:05:32.953324 <= Recv header, 25 bytes (0x19)
0000: Content-Type: text/html
Content-Type: text/html
16:05:32.953336 <= Recv header, 21 bytes (0x15)
0000: Content-Length: 184
Content-Length: 184
16:05:32.953349 <= Recv header, 24 bytes (0x18)
0000: Connection: keep-alive
Connection: keep-alive
16:05:32.953363 <= Recv header, 75 bytes (0x4b)
0000: Location: https://rvm.io/binaries/ubuntu/12.04/i386/ruby-2.0.0-p
0040: 0.tar.bz2
Location: https://rvm.io/binaries/ubuntu/12.04/i386/ruby-2.0.0-p0.tar.bz2
16:05:32.953382 <= Recv header, 2 bytes (0x2)
0000:
16:05:32.953421 == Info: Connection #0 to host rvm.io left intact
/usr/local/opt/curl/bin/curl -I --trace-time --trace-ascii - 0.00s user 0.00s system 0% cpu 5.174 total
##
# While the result is a redirect to the ssl URI this proves that the issue is not related to ssl overhead.
#
# 5.174 - (2.953421 - 2.792055) = 5.013
#
# leaves 97% of execution time unaccounted for
##
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment