用Python测量页面速度和网络时间,类似HTML5导航时间?
1 个回答
4
根据@Andre Daniel提供的信息,这段代码通过DNS获取一个域名的IP地址,并打印出所花费的时间。接着,它会获取一个网址,打印出时间,并在去掉查找这个网址的DNS时间后,打印出实际的耗时。
源代码
import socket, time, urllib, urlparse
URL = 'http://example.com/123'
print URL, 'timing:'
urlinfo = urlparse.urlparse(URL)
start = time.time()
ip = socket.gethostbyname( urlinfo.netloc )
dns_tm = time.time()-start
print 'DNS:\t\t{:.3f} seconds'.format( dns_tm )
start = time.time()
_data = urllib.urlopen(URL).read()
load_tm = time.time()-start
print 'load:\t\t{:.3f} seconds'.format( load_tm )
print 'w/o DNS:\t{:.3f} seconds'.format( load_tm-dns_tm )
输出结果
http://example.com/123 timing:
DNS: 0.054 seconds
load: 0.104 seconds
w/o DNS: 0.050 seconds