如何获得服务器的响应时间?

Posted

技术标签:

【中文标题】如何获得服务器的响应时间?【英文标题】:How do I get a server's response time? 【发布时间】:2014-03-25 07:15:01 【问题描述】:

如何使用 ruby​​ 获得服务器响应时间?

我使用Net::HTTP.get_response(URI.parse(url)) 对URL 的响应代码和响应时间。其实我的代码是:

start_time = Time.now
@req = Net::HTTP.get_response(URI.parse(url))
end_time = (Time.now - start_time) * 1000
puts ("%.2f" % end_time + "ms")

运行良好,但响应时间太长,例如:Twitter.com (630.52ms)。如果我尝试 ping twitter.com,我会得到 70/120 毫秒的响应。

这是计算此服务器响应时间的最佳方法吗?

【问题讨论】:

你能提供一个SSCCE吗?你很亲密。 sscce.org 定义“服务器响应时间”。 【参考方案1】:

正如@xlembouras 所说,Ruby 计时包含在您的代码版本中。

我建议您使用 curl 来查找您要查找的内容:

response_time_total = `curl -w \"%time_total\" google.com -o /dev/null -s`

你可以在终端试试:

curl -w \"%time_total\n\" google.com -o /dev/null -s

您可以获得不同的指标,例如time_namelookuptime_connecttime_starttransfertime_redirect 等。示例:

response_times = `curl -w \"%time_connect:%time_starttransfer:%time_total\" google.com -o /dev/null -s`
time_connect, time_starttransfer, time_total = response_times.split(':')

所有可用的指标和详细信息都可以在the cURL manpage找到

参考

How do I measure request and response times at once using cURL?

【讨论】:

【参考方案2】:

你实现的没有显示服务器响应时间,它显示:

在 ruby​​ 中发送请求所花费的时间 请求的网络时间 服务器的响应时间 响应的网络时间 在 ruby​​ 中处理响应所花费的时间

如果您只需要查看服务器处理请求所花费的时间,则需要以另一种方式进行。您可以使用HTTPresponse headers。特别是日期标题可以帮助您。

【讨论】:

以上是关于如何获得服务器的响应时间?的主要内容,如果未能解决你的问题,请参考以下文章

NSwag Angular 5 如何获得 json 响应?

如何从 NSURLSessionDownloadTask downloadTaskWithRequest 获得响应

如何使用 JSON 格式解析通过 AFNetworking 1.0 获得的响应

如何在ios中发布对象并获得响应

如何使用 system.io.pipes 发送请求并获得响应

当我收到服务器协议冲突异常时,如何获得响应?