Linux命令行测试你的网站速度
注意,本文说的是利用Linux命令行测试你的网站的速度不是网络的速度。
使用场景这样,比如你有2台服务器,一个A国家,另外一个在B国家,你想测试B国家访问A国家的服务器上的网站的速度,你有2个几个选项,
最容易想到就是代理服务器,找到B国家的代理服务器,然后在你的电脑上,因为是使用的是代理服务器,那么你的电脑上的任何地理位置都可以。
如果你找不到或者那些代理服务器很不稳定,那么你还可以直接在你的服务器,这里就是B了,部署一个自己的代理服务器,代理服务器程序也有不少选择,我选择是squid,部署起来很方便,不到半个小时,你就可以架设起来一个自己的代理服务器。
有了代理服务器,然后在你的浏览器种设置代理服务器的ip和端口,firefox和chrome设置代理服务器的选项位置各不一样,不过都在设置里面,这里就不在啰嗦。设置完毕后,直接在浏览器感觉打开你的网站的速度。不过你这里你考虑以下你的电脑到代理服务器的速度,因为这种情况下,网站的数据是先到代理服务器,然后代理服务器再传给你的电脑的,因此真正访问时间是总的时间减去数据从代理服务器到你的电脑的传输速度的。
如果你的网络是被管理员限制了http代理的,比如你的电脑是公司里面的电脑,那么就很有可能是属于这种情况,那么你可以直接在B国家的服务器上使用命令行测试网站的速度,当然前提是你能ssh到远程机器。方法很简单,
$>wget -p http://www.360converter.com -O /dev/null
这里把www.360converter.com换成你自己的网站的域名就行,下面是输出
WARNING: combining -O with -r or -p will mean that all downloaded content
will be placed in the single file you specified.
–2017-01-20 17:38:20– http://www.360converter.com/
Resolving www.360converter.com (www.360converter.com)… 106.187.96.131
Connecting to www.360converter.com (www.360converter.com)|106.187.96.131|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: unspecified
[text language=”/html”][/text]
Saving to: ‘/dev/null’
[ <=> ] 19,754 –.-K/s in 0.008s
2017-01-20 17:38:20 (2.23 MB/s) – ‘/dev/null’ saved [19754]
FINISHED –2017-01-20 17:38:20–
Total wall clock time: 0.4s
Downloaded: 1 files, 19K in 0.008s (2.23 MB/s)
可以看到速度是 2.23MB/s
其实上面的结果还是有问题,第一你不能直观的从用户的角度感觉网站的打开速度,另外在实际的测试中发现,这种方法并不能真正找到速度慢的原因,比如360converter.com因为有加载google的api导致在国内打开的时候很慢,那么最好还是在浏览器中打开,就可以看到加载了哪些资源,加载的时候用了多久。比如在http代理服务器不可以用的情况下,你可以使用 ssh 加 socket 代理的方式,
先打开一个终端,执行,
ssh -D 9999 -C username@xxxx.com
username就是登录服务器的名字
xxxx.com就是你的服务器的域名,或者将它换成你的服务器的IP地址,
这里9999就是本地端口,可以随便选择,只要在 1024 ~ 65535之间就行。
-C选项是说传输数据的时候,压缩处理。
运行成功后,就使用ssh建立一个安全的通讯管道,为什么说是安全的呢?是因为ssh通信过程所有的数据都是加密的。让后在firefox或者chrome种设置代理,这次选择socket5代理,然后设置ip是 localhost,端口是9999或者你自己设置的端口。
接下来就可以直接使用浏览器浏览你的网站了。
版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则
按侵权处理.