当咱们说一个网络环境好时,一般是指咱们“感受”访问网站马上就打开了;但是若是反过来,一个网站好久才打开,就必定是网络环境差吗?未必,也多是网站自己有问题。若是这是本身的网站,你必定不但愿经过反复刷新页面,或者多拿几台电脑访问去“感受”它的速度做为判断网络是否良好的依据,咱们须要一个更加可靠的技术手段。这些指标即是判断到服务器的网络是否良好的基础指标。html
除了故障排查外,如下几种状况咱们也须要了解这些参数:linux
VPS
:在你购买一台VPS
,特别是外国的VPS
时,你必定会想了解到底在外国和在国内能不能顺畅地访问本身的VPS
,特别是带宽参数是否跟实际购买的一致;首先,没有一个通用的指标,不一样的应用场景所须要的指标各不相同,好比 IP电话、视频与访问网站的网络指标要求就各不相同,这里只分析网站访问的状况。web
从服务器环境角度看,服务器只能控制本身的带宽,可是普通用户实际访问的环境是控制不了的,服务器须要作的是在差的环境也能提供较好的体验,这不是本文的主题,因此咱们谈指标时并非指服务器的角度。chrome
从用户(开发者或者普通用户)环境角度看,若是一个网站自己是符合要求的(Google Pagespeed Insight
达到90分以上),网络环境应该知足什么样的指标,用户打开咱们的网站才会很快。这自己也是一个经验指标,并无一个定论,下面的指标是我在作性能测试时要求的指标,它的要求高于普通用户浏览网站,所以可以知足此指标,网络环境是没问题的。服务器
<100ms
<20ms
<1%
使用iperf
工具测试服务器带宽,它分为服务端与客户端,两边都要安装iperf
工具。在Linux
经过yum
或者apt-get
便可直接安装。网络
IP
为106.14.26.11
)运行iperf
服务:#iperf -s ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default)
这是一台上下行带宽都接近100Mbits/sec
的服务器,实测数值不该该与该数值偏离太远。chrome-devtools
测试上行和下行带宽工具
$iperf -c 106.14.26.11 -t 60 -d ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ ------------------------------------------------------------ Client connecting to 45.32.64.187, TCP port 5001 TCP window size: 197 KByte (default) ------------------------------------------------------------ [ 4] local 104.250.144.8 port 50040 connected with 106.14.26.11 port 5001 [ 5] local 104.250.144.8 port 5001 connected with 106.14.26.11 port 34386 [ ID] Interval Transfer Bandwidth [ 4] 0.0-60.0 sec 658 MBytes 92.0 Mbits/sec #上行带宽 [ 5] 0.0-60.4 sec 628 MBytes 87.4 Mbits/sec #下行带宽
从测试结果看,上行带宽为92.0Mbits/sec
, 下行带宽为87.2Mbits/sec
,低于服务器的100Mbits/sec
,可是没有低得很离谱。性能
若是你的客户端没法链接到
iperf
服务端,多是主机的防火墙挡住或者VPS
提供商作了限制。对于前者,经过iptables -F
便可解决;对于后者,有几种解法:进VPS
提供商的控制台修改、联系VPS
提供商、修改端口为外部能够访问获得的端口。测试
延迟,抖动和丢包率,直接使用ping
作测试便可。若是想测量这个值,建议抓100
个包测试:
$ ping -c 100 www.baidu.com PING www.a.shifen.com (163.177.151.109): 56 data bytes 64 bytes from 163.177.151.109: icmp_seq=0 ttl=55 time=26.639 ms 64 bytes from 163.177.151.109: icmp_seq=1 ttl=55 time=24.329 ms 64 bytes from 163.177.151.109: icmp_seq=2 ttl=55 time=24.794 ms 64 bytes from 163.177.151.109: icmp_seq=3 ttl=55 time=22.709 ms 64 bytes from 163.177.151.109: icmp_seq=4 ttl=55 time=39.994 ms 64 bytes from 163.177.151.109: icmp_seq=5 ttl=55 time=50.786 ms 。。。省略 ^C --- www.a.shifen.com ping statistics --- 100 packets transmitted, 100 packets received, 0.0% packet loss #最后这个百分比就是丢 包率 round-trip min/avg/max/stddev = 21.505/26.743/50.786/6.613 ms #分别表示最小延迟、平均延迟、最大延迟、抖动(抖动就是延迟标准差)
根据上面的结果,咱们获得结论:
延迟:26.743ms 抖动: 6.613ms 丢包率: 0.0%
符合指标要求,因此访问百度必定很快。(这里假设带宽是没问题的,测量到服务器的带宽须要服务器支持,因此是测量不了的)