我正在编写一个脚本,从客户端的角度来确定服务的性能。
为此,我需要能够为每个HTTP请求确定一些统计信息,比如:
- DNS查找时间
- TCP连接时间
- TCP传输时间
我需要值的毫秒分辨率。
什么命令或perl/python.php库可以给我提供这样的信息?
查看curl(1)
的-w
选项。它允许你做以下事情:
curl -s -o /dev/null -w "DNS Lookup: %{time_namelookup}nTCP Connect: %{time_connect}nTotal: %{time_total}n" http://www.serverfault.com
DNS Lookup: 0.004
TCP Connect: 0.104
Total: 0.206
这大致意味着DNS在4毫秒内被查找,在100毫秒后TCP连接准备就绪之前,102毫秒后所有数据都被传输。