A very short python program that measures TCP connection establishment times to a given hostname, using addresses returned by getaddrinfo(). Arguments are a hostname, and optionally a port number, otherwise port 80 is assumed.
I wrote this program to help me measure real connection establishment times to dual stack (IPv4 and IPv6) destinations, to see how this affects address selection algorithms in operating systems and applications. Some modern algorithms (eg. Happy Eyeballs, Apple network stats based connection preferences) take these connection times into account when choosing destination addresses.
time-gai-connect.py hostname
time-gai-connect.py hostname portnumber
An example run (from a machine on the upenn campus) with the main
IETF webserver, www.ietf.org:
$ time-gai-connect.py www.ietf.org
2001:1890:123a::1:1e 90.98601 ms
12.22.58.30 76.32303 ms
Shumon HuqueCopyright (c) 2011 Shumon Huque. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Python itself.
Back to Shumon Huque's home page