Network Overhead
RTT is a LOT more important than you think


I was curious as to how the new, improved ikiwiki based blog would perform - 3 entries compressed down to roughly 5k.

From the internet to my openrd it was about 80s RTT.

    d@toutatis:~$ time elinks -dump http://gw.co.teklibre.org/~d/the-edge/ > /dev/null real 0m0.547s user 0m0.260s sys 0m0.048s
Half a second via the internet. Not particularly good. From laptop to the openrd, over 54Mbit wireless:
    d@cruithne:~$ time elinks -dump http://gw.co.teklibre.org/~d/the-edge/ > /dev/null real 0m0.102s user 0m0.080s sys 0m0.010s
1/10 second. That's a RTT time I like. Let's see how fast the wiki is running on the openrd itself:
    root@gw: # time elinks -dump http://localhost/~d/the-edge/ > /dev/null real 0m0.549s user 0m0.530s sys 0m0.030s

Obviously startup time for elinks dominates this test. How about on my dual core laptop?

Much better! What percentage of this is elinks startup overhead is a good question. Let’s see how mdns affects the same query on the laptop:

    d@cruithne:~$ time elinks -dump http://cruithne.local/~d/the-edge/ > /dev/null real 0m0.185s user 0m0.100s sys 0m0.000s

Wow, multicast DNS really slows things down to .2 seconds. I happen to have a local bind server on my network, let’s see how that performs:

    d@cruithne:~$ time elinks -dump http://cruithne.co.teklibre.org/~d/the-edge/ > /dev/null real 0m0.066s user 0m0.070s sys 0m0.000s

My local bind server wins big over multicast DNS!

But why does it take so long to transfer less than 6k over the internet?


Wireshark dump

3.550770 149.20.54.64 -> 75.71.155.214 TCP 35972 > http [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=2973680883 TSER=0 WS=6

3.550857 75.71.155.214 -> 149.20.54.64 TCP http > 35972 [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 TSV=7145058 TSER=2973680883 WS=5

3.630475 149.20.54.64 -> 75.71.155.214 TCP 35972 > http [ACK] Seq=1 Ack=1 Win=5888 Len=0 TSV=2973680903 TSER=7145058

3.630862 149.20.54.64 -> 75.71.155.214 HTTP GET /~d/the-edge/ HTTP/1.1

3.630931 75.71.155.214 -> 149.20.54.64 TCP http > 35972 [ACK] Seq=1 Ack=246 Win=6880 Len=0 TSV=7145066 TSER=2973680903

3.632001 75.71.155.214 -> 149.20.54.64 TCP [TCP segment of a reassembled PDU]

3.632086 75.71.155.214 -> 149.20.54.64 TCP [TCP segment of a reassembled PDU]

3.712391 149.20.54.64 -> 75.71.155.214 TCP 35972 > http [ACK] Seq=246 Ack=1449 Win=8768 Len=0 TSV=2973680924 TSER=7145066

3.712466 75.71.155.214 -> 149.20.54.64 HTTP HTTP/1.1 200 OK

3.712492 149.20.54.64 -> 75.71.155.214 TCP 35972 > http [ACK] Seq=246 Ack=2897 Win=11648 Len=0 TSV=2973680924 TSER=7145066

3.717746 149.20.54.64 -> 75.71.155.214 TCP 35972 > http [ACK] Seq=246 Ack=4345 Win=14528 Len=0 TSV=2973680925 TSER=7145066

3.806623 149.20.54.64 -> 75.71.155.214 TCP 35972 > http [ACK] Seq=246 Ack=5392 Win=17472 Len=0 TSV=2973680947 TSER=7145074

3.814825 149.20.54.64 -> 75.71.155.214 TCP 35972 > http [FIN, ACK] Seq=246 Ack=5392 Win=17472 Len=0 TSV=2973680949 TSER=7145074

3.814965 75.71.155.214 -> 149.20.54.64 TCP http > 35972 [FIN, ACK] Seq=5392 Ack=247 Win=6880 Len=0 TSV=7145084 TSER=2973680949

3.892041 149.20.54.64 -> 75.71.155.214 TCP 35972 > http [ACK] Seq=247 Ack=5393 Win=17472 Len=0 TSV=2973680969 TSER=7145084


How fast is my existing blog? Well, the main page is about 120k right now…

root@gw:~# time elinks -dump http://the-edge.blogspot.com > /dev/null

real 0m2.024s

user 0m0.670s

sys 0m0.040s

The first access has a large chunk of time that I would guess is related to DNS lookup.

root@gw:~# time elinks -dump http://the-edge.blogspot.com > /dev/null

real 0m1.397s

user 0m0.700s

sys 0m0.020s

root@gw:~# time elinks -dump http://the-edge.blogspot.com > /dev/null

real 0m1.377s

user 0m0.670s

sys 0m0.040s

d@cruithne:~$ time elinks -dump http://the-edge.blogspot.com > /dev/null

real 0m0.854s

user 0m0.120s

sys 0m0.000s

d@cruithne:~$ time elinks -dump http://the-edge.blogspot.com > /dev/null

real 0m1.110s

user 0m0.070s

sys 0m0.040s

d@cruithne:~$ time elinks -dump http://the-edge.blogspot.com > /dev/null

real 0m0.767s

user 0m0.090s

sys 0m0.030s

root@gw:~# traceroute the-edge.blogspot.com

traceroute to the-edge.blogspot.com (74.125.127.132), 30 hops max, 60 byte packets

1 c-75-71-154-1.hsd1.co.comcast.net (75.71.154.1) 10.465 ms 10.803 ms 16.763 ms

2 te-9-4-ur01.englewood.co.denver.comcast.net (68.85.221.149) 10.381 ms 10.351 ms 10.297 ms

3 te-0-2-0-6-ar02.denver.co.denver.comcast.net (68.86.179.185) 11.624 ms 11.580 ms 11.524 ms

4 pos-0-7-0-0-ar02.aurora.co.denver.comcast.net (68.86.128.246) 11.274 ms 11.259 ms 11.206 ms

5 pos-2-3-0-0-cr01.denver.co.ibone.comcast.net (68.86.91.1) 11.887 ms 12.055 ms 12.016 ms

6 pos-2-14-0-0-cr01.dallas.tx.ibone.comcast.net (68.86.85.178) 31.318 ms 33.274 ms 27.925 ms

7 pos-0-2-0-0-pe01.1950stemmons.tx.ibone.comcast.net (68.86.86.150) 28.065 ms 28.038 ms 27.986 ms

8 75.149.231.70 (75.149.231.70) 64.349 ms 64.330 ms 68.889 ms

9 72.14.233.85 (72.14.233.85) 70.749 ms 68.275 ms 71.075 ms

10 209.85.250.234 (209.85.250.234) 74.269 ms 73.944 ms 75.255 ms

11 72.14.232.85 (72.14.232.85) 82.692 ms 82.335 ms 82.403 ms

12 216.239.48.34 (216.239.48.34) 81.917 ms 216.239.43.228 (216.239.43.228) 80.080 ms 216.239.48.34 (216.239.48.34) 80.638 ms

13 64.233.174.103 (64.233.174.103) 81.608 ms 64.233.174.101 (64.233.174.101) 82.738 ms 64.233.174.127 (64.233.174.127) 82.206 ms

14 216.239.46.6 (216.239.46.6) 90.480 ms * 90.573 ms

15 pz-in-f132.1e100.net (74.125.127.132) 82.892 ms 82.737 ms 82.718 ms

Find me elsewhere.

Best of the blog Uncle Bill's Helicopter - A speech I gave to ITT Tech - Chicken soup for engineers
Beating the Brand - A pathological exploration of how branding makes it hard to think straight
Inside the Internet Mind - trying to map the weather within the global supercomputer that consists of humans and google
Sex In Politics - If politicians spent more time pounding the flesh rather than pressing it, it would be a better world
Getting resources from space - An alternative to blowing money on mars using NEAs.
On the Columbia - Why I care about space
Authors I like:
Doc Searls
Jerry Pournelle
The Cubic Dog
David Brin
Charlie Stross
Eric Raymond
Anonymous
WikiLeaks
The Intercept
Chunky Mark
Brizzled
Dan Luu's rants about hardware design
Selenian Boondocks
Transterrestial Musings
Callahans

February 10, 2011
711 words


Tags
latency usability ikiwiki