如何在Linux终端上测试网站加载速度

网站响应时间可能会对用户体验产生很大的影响,如果您是Web开发人员,或者只是负责组织这些组件的服务器管理员,则必须使用户感觉不到这一点访问您的网站时感到沮丧 - 所以确实需要“速度 ”。

另请参阅httpstat - 一个Curl统计工具来检查网站的性能

本指南将向您展示如何从Linux命令行测试网站响应时间。 在这里,我们将展示如何检查在几秒钟内的时间,它需要:

  • 执行名称解析。
  • 用于TCP连接到服务器。
  • 为文件传输开始。
  • 第一个字节被传输。
  • 为完整的操作。

另外,对于启用了HTTPS的站点,我们还将看到如何测试时间,以秒为单位:重定向,SSL连接/握手到服务器完成。 听起来不错,好吧,让我们开始吧。

cURL是一个强大的命令行工具,可以使用诸如FILE,FTP,FTPS,HTTP,HTTPS等协议从服务器传输数据。 在大多数情况下,它用作命令行下载器 ,或用于检查HTTP标头。 但是,在这里,我们将描述其中一个不太为人所知的功能。

cURL有一个有用的选项: -w用于在完成操作后在stdout上打印信息。 它有一些变量,我们可以用来测试一个网站上面列出的不同响应时间。

我们将使用一些与时间相关的变量,这些变量可以以给定的格式作为字符串或文件传递。

所以打开你的终端并运行下面的命令:

$ curl -s -w 'Testing Website Response Time for :%{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

测试网站加载速度

上述格式的变量是:

  • time_namelookup - 以秒为单位的时间,从开始到名称解析完成。
  • time_connect - 从开始到TCP连接到远程主机(或代理)完成所花费的时间,以秒为单位。
  • time_pretransfer - 时间,以秒为单位,从开始到文件传输即将开始。
  • time_starttransfer - 以秒为单位的时间,从开始到第一个字节即将被转移。
  • time_total - 完整操作持续的总时间(以毫秒为单位)(以毫秒为单位)。

如果格式太长,可以将其写入一个文件中,并使用下面的语法来读取它:

$ curl -s -w "@format.txt" -o /dev/null http://www.google.com

在上面的命令中,标志:

  • -s - 让curl静静地工作。
  • -w - 打印stdout上的信息。
  • -o - 用于重定向输出(这里我们通过将输出重定向到/ dev / null来丢弃输出)。

对于HTTPS站点,您可以运行下面的命令:

$ curl -s -w 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppCon 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://www.google.com

测试HTTPS网站速度

在上面的格式中,新的时间变量是:

  • time_appconnect - 以秒为单位,从开始直到到远程主机的SSL连接/握手完成。
  • time_redirect - 时间,以秒为单位,包括名称查找,连接,预转换和传输在最终事务开始之前的所有重定向步骤。 它计算多个重定向的完整执行时间。

重要的一点需要注意。

  • 您会注意到,当您运行不同的测试时,响应时间值会不断变化(由于多种因素),因此建议收集多个值并获取平均速度。
  • 其次,从上面的命令的结果可以看出,通过HTTP访问网站比通过HTTPS快得多。

有关更多信息,请参见cURL手册页:

$ man curl

最后但并非最不重要,如果你的结果不令人满意,那么你有一些调整,以在您的服务器上或在代码。 您可以考虑使用以下教程来解释程序和技巧,以使Linux在Linux中加载速度更快:

  1. 在Debian和Ubuntu上用Ngx_Pagespeed(速度优化)安装Nginx
  2. 在CentOS 7上使用Ngx_Pagespeed加速Nginx性能
  3. 学习如何使用Nginx和Gzip模块加速网站
  4. 如何通过TCP BBR提升Linux服务器的互联网速度

就这样! 现在你知道如何从命令行测试网站响应时间。 您可以通过下面的反馈表来提问。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏