度量应用程序响应时间的方法有很多,但最简单的方法可能是使用 curl 命令。

请看示例:

1
2
$ curl -o /dev/null -s -w %{time_connect}:%{time_starttransfer}:%{time_total} http://www.douban.com
0.136:0.558:0.690

以上给出了对豆瓣网执行 curl 命令的情况。几点说明:

  • -o 参数将响应结果发送到 /dev/null,不在控制台显示
  • -s 参数让所有状态信息不显示
  • -w 参数让 curl 显示出计时器的状态信息

以下是 curl 使用的计时器:

计时器 描述
time_connect 建立到服务器的 TCP 连接所用的时间
time_starttransfer 在发出请求之后,Web 服务器返回数据的第一个字节所用的时间
time_total 完成请求所用的时间

这些计时器都相对于事务的起始时间,甚至要早于 DNS(Domain Name Service)查询。
因此,在发出请求之后,Web 服务器处理请求并开始发回数据所用的时间是 0.558 - 0.136 = 0.422 s
客户机从服务器下载数据所用的时间是 0.690 - 0.558 = 0.132 s

通过观察 curl 数据及其随时间变化的趋势,可以很好地了解站点对用户的响应性。