https利弊(1):https速度测试(可下载精确测试工具)

王志勇 发表于 2026年07月08日 00:57

https正确的测速方法,是在与VPS、独立服务器最近的机房位置,访问自己的站点,本测速工具是使用file_get_contents()函数,模拟在机房位置访问,能得到两者精确的差距。

本https速度测试工具下载:(作者:自由勇)
http://st.auiou.com/f/grate/speedofhttps.zip (大小:1KB)

使用方法:
1. 本程序测试的结果是用www访问主机内网的速度,有点类似于用电脑ping自己的路由器,用file_get_contents()来访问主机内网,能精确得到http、https这2者之间的速度差。

2. 该程序共有3个文件,其中test.php是主程序,可放在http或https站点,httpok.php必须放在http站点,httpsok.php必须放在https站点(不能是自签名https)。

3. 需要确保VPS的http可以访问,为了防止博客站点设置了自动把http页Rewrite到https页,通常用http://VPS的IP地址,就可以正常访问,如果不能访问,需要在Apache、Nginx里,用自己的二级域名新建一个http站点A。

4. test.php和httpok.php这2个文件,必须放在VPS的网站根目录如/var/www/html、或/usr/share/nginx/www、或/usr/share/nginx/html,或者放在http站点A的根目录,然后用 http://VPS的IP地址/httpok.php 测试能否访问。

注意事项:httpok.php所在的站点,最好是纯http站点,如果是https站点,则需要观察是否会自动跳转到https的链接,如果自动跳转到https,在测试结果的http这一栏的20次访问都会显示“第X次获取失败”,需要在Apache、或Nginx的配置文件里,临时删除Rewrite,然后重启Apache或Nginx。

5. httpsok.php文件,放在https站点、或https博客的根目录,我在测试中发现PHP 7.X或以上,这个https站点必须是第三方SSL如certbot,不能是自签名,PHP 5.X可以是自签名。

6. 然后用 https://自己的https站点或博客/httpsok.php 测试能否访问。

7. 编辑test.php,必须修改 $ur1[1] 和 $ur1[2] 这2个值,如下图箭头所指的位置。其中,$ur1[1]为VPS的IP地址,或者http站点A的域名;$ur1[2]为https站点的域名。

注意事项:$ur1[1] 和 $ur1[2] 这2个值,要和test.php所在的VPS,都是同一VPS,这样才能在内网的环境中,得到精确的数据。

8. 访问这个test.php,例如 http://VPS的IP地址/test.php,或者 http://站点A/test.php

9. 如果显示“第X次获取失败”,必须在上述的步骤4、6里先测试,使httpok.php、httpsok.php这2个文件必须能访问。

此程序的原理:
原始的程序为:

<?php
//先测试http的访问速度
$start=microtime(true);
$e1=@file_get_contents('http://104.223.**.**/httpok.php');
$end=microtime(true);
echo ($end-$start).'<br>';

//再测试https的访问速度

$start=microtime(true);
$e1=@file_get_contents('https://testsite.auiou.com/httpsok.php');
$end=microtime(true);
echo ($end-$start);
?>

注:上述程序为原理,无访问成功的验证。

做成测试工具后,就是一次分别获取http、https的访问时间,用循环程序每次各获取20次,并增加了访问成功的验证,如果显示“第X次获取失败”说明该测试工具没有正确安装,导致http或https访问失败,必须在上述的步骤4、6里先测试。

下列测试结果的解读:
1. 在程序里我没有把20次的测试结果,再做出一个平均值,没有必要统计平均值,因为平均值无法体现稳定性,要看大面积的测试结果,所以这里罗列20次,其实次数越多,越有参考意义。

2. 可以看出https整体的速度比http慢,香港主机+PHP 7.4,https比http大约慢0.01秒~0.12、0.14秒;美国主机+PHP 5.5+https自签名,https比http大约慢0.04秒,PHP 7.4未测试。

这个https的数据目前还是比较不错的,这也是为什么现在的https的访问速度和http经常看不出区别。

但有时候,还是有区别的,有时候会达到0.2秒~0.4秒。https的延迟是http的50倍~56倍(2026年8月之前的数据),其实就是这个差别,综合网页程序、数据库的运算时间,网站的极限吞吐量、并发极限,http约是https的10多倍。这些测试20次当中,平均每次https比http多延迟高达41.81毫秒(即0.04181秒)。

其中,http平均每次延时0.75毫秒,https平均每次延时42.56毫秒。(2026年8月之前的数据)

(2026-09-19 18:11更新:2026年8月之后,http速度平均约是https的16倍,相应的综合的站点峰值吞吐量、并发极限,http约是https的3倍~10倍。)

示例,比如我这次测试的是香港主机,环境是Debian 11+PHP 7.4,https为certbot,即Let’s Encrypt,测试结果如:

http的20次主机内网访问速度
访问目标:http://38.22.**.***/httpok.php
测试20次:(单位:秒)
0.0012478828430176
0.0030639171600342
0.00092887878417969
0.00062704086303711
0.00061702728271484
0.00060892105102539
0.00059390068054199
0.00193190574646
0.0006248950958252
0.00047707557678223
0.00040197372436523
0.0004730224609375
0.00042510032653809
0.00054717063903809
0.00046992301940918
0.0003960132598877
0.00043487548828125
0.00037789344787598
0.00038909912109375
0.00042104721069336

https的20次主机内网访问速度
访问目标:https://cellular.auiou.com/httpsok.php
测试20次:(单位:秒)
0.16291308403015
0.053548812866211
0.014837026596069
0.049654960632324
0.054419994354248
0.015960931777954
0.050944089889526
0.015139102935791
0.15727710723877
0.014770030975342
0.012224912643433
0.011759042739868
0.011697053909302
0.012944936752319
0.012795925140381
0.1517539024353
0.012124061584473
0.012380838394165
0.012172222137451
0.0120530128479

美国主机+Ubuntu 14+PHP 5.5,自签名https测试:

http的20次主机内网访问速度
访问目标:http://104.223.**.***/httpok.php
测试20次:(单位:秒)
0.0012137889862061
0.00090909004211426
0.00098299980163574
0.00080704689025879
0.0007469654083252
0.00089097023010254
0.00071501731872559
0.00030303001403809
0.00030398368835449
0.00032401084899902
0.00030899047851562
0.00037598609924316
0.00040793418884277
0.00031590461730957
0.0003199577331543
0.00035905838012695
0.00032901763916016
0.00034093856811523
0.00030398368835449
0.00029301643371582

https的20次主机内网访问速度
访问目标:https://104.223.**.***/httpsok.php
测试20次:(单位:秒)
0.043678045272827
0.043785810470581
0.043823957443237
0.044019937515259
0.043996810913086
0.043987035751343
0.044287919998169
0.043694019317627
0.043982028961182
0.043933153152466
0.044027090072632
0.043937206268311
0.043988943099976
0.044034004211426
0.04392409324646
0.044006109237671
0.044111013412476
0.043883800506592
0.04394793510437
0.044018030166626

美国主机+Debian 11+PHP 7.4,因为未配置,有时间再测试,会更新此部分。

程序更新
(2026-08-20 12:26更新)
今天更新了程序。由于网络上的延时时间,单位都是毫秒,所以今天把单位改成了毫秒,并新增了平均值(20次的平均值)。

(2026-09-19 18:13更新)
近期https速度有了提升。现在http没有变,http延迟平均0.39毫秒~1.2毫秒,https的延迟平均在6.3毫秒~25毫秒,更多是集中在12毫秒~16毫秒,现在平均http的速度是https的16倍,相应的综合的站点峰值吞吐量、并发极限,http约是https的3倍~10倍。

4条评论:
1   欧文斯 2026-07-08 08:11
上 https 最大的原因是安全,但由于各种中间人存在,实际作用先砍一半。我也认为最大的推手是 Chrome 等浏览器,对于普通用户来说,浏览器明晃晃写着不安全,看着就膈应,先关再说~

自由勇 2026-07-08 09:15
就是这样,唉。

2   自由勇 2026-07-10 09:47
更新:
关于http2、http3多路复用原理的初步重要分析
3   平顶山 2026-07-13 00:50
就是被浏览器标注了不安全链接,迫不得已用了https。

抱歉,评论已关闭。

王志勇:1980-09-26 (46周岁)
程序设计,Web站长

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

Blog存档 Archives

2025年-2026年03月(10)
2024年(13)
2023年 +

2022年 +
2021年 +
2020年 +
2019年 +
2018年 +
2016年-2017年(9)
2014年06月-09月(10)
2013年 +
2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2026 auiou.com All rights reserved.
此Blog程序由王志勇编写
生产环境提示:博客属专业平台,访问者多为专业用户,http模式能承载更高的峰值吞吐量。