从Ubuntu终端使用cURL衡量网站的速度

关于使用cURL测量Web的速度

在下一篇文章中,我们将研究如何 使用cURL从终端测量网站的响应时间。 知道这很有趣,因为它会对用户体验产生重大影响。

无论您是Web开发人员还是管理服务器,您都将知道 速度 它应该总是准备就绪。 重要的是,一切正常运行,以使用户在访问您的网站时不会感到沮丧。

接下来,我们将看到一些能够执行的命令 测量网站的响应时间。 有了他们,我们将能够 检查http和https页面不同字段的时间(以秒为单位)。 我们将使用cURL从Ubuntu命令行执行所有操作,

使用cURL衡量加载速度

来自具有HTTP的网站

http网站的速度控制

cURL有很多可用的选项,其中我们可以找到 -w,这将对 将信息打印到标准输出 完成操作后。 它还为我们提供了一些 我们可以用来测试不同响应时间的变量 网站。

为了实现这一衡量,我们将使用一些可以在 cURL官方文档。 这些可以以给定的格式作为文字字符串或在文件中传递。

我们将使用以下变量:

  • 时间名称查找 →时间以秒为单位。 被采取 从创建到名称解析完成.
  • 时间连接 →时间以秒为单位。 从启动到完成与远程主机的TCP连接 或代理。
  • 预传输时间 →花费的时间(以秒为单位) 从一开始到文件传输即将开始。 这包括特定于所涉及协议的所有预传输命令和协商。
  • 时间开始传输 →花费的时间(以秒为单位) 从开始到第一个字节将要传输。 这包括time_pretransfer以及服务器计算结果所花费的时间。
  • 总时间整个操作持续的总时间(以秒为单位)。 它以毫秒为单位解析。

使用之前的变量执行我们将要挂载的命令,我们只需要打开一个终端(Ctrl + Alt + T)并输入:

curl -s -w '\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null http://www.google.com

由于每次我们要使用它在终端中写入时都会变得有些麻烦,因此我们可以选择将其写入文件中。

文件内,我要给它的名称 control-speed-web.txt,您必须粘贴以下代码:

\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n

保存并返回终端后,我们可以 通过键入以下语法使用此文件:

curl -s -w "@control-velocidad-web.txt" -o /dev/null http://www.google.com

上面的命令将起作用 -s使静音模式。 同 -w信息打印在 标准输出。 至 将输出重定向到/ dev / null让我们使用-o.

来自具有HTTPS的网站

测量https网站的速度

如果我们有兴趣将此测试用于HTTPS站点,则可以在终端中执行命令(Ctrl + Alt + T):

curl -s -w '\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppConnect Time:\t\t%{time_appconnect}\nRedirect Time:\t\t%{time_redirect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null https://ubunlog.com

除了上述内容以外,在此格式中还使用了更多的时间变量。 这些是:

  • time_appconnect 时间 →花费的时间(以秒为单位) 从一开始,直到与远程主机的SSL / SSH / etc连接完成.
  • 时间重定向 →时间(以秒为单位) 在最终交易开始之前的所有重定向步骤。 计算多次重定向的总执行时间。

与前面的情况一样,它也可以写入文件。 与前面的情况一样,我会 通话 control-speed-web.txt,然后您必须在其中粘贴:

\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppConnect Time:\t\t%{time_appconnect}\nRedirect Time:\t\t%{time_redirect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n

保存文件并返回终端,我们可以 与语法一起使用:

curl -s -w "@control-velocidad-web.txt" -o /dev/null https://ubunlog.com

有关更多信息,您可以 咨询 cUrl文档 或手册页:

man curl

科莫 响应时间值将因不同因素而改变,建议进行不同的测试并建立平均速度。 我们还将看到的是,通过HTTP访问网站通常比通过HTTPS访问网站要快得多。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。