一般说起检测到服务器的连接速度 就会想起PING 但单纯PING其实很片面

要综合测试到一台服务器的速度 要看以下方面:

1、丢包率【这是首要的 如果线路本身不稳定 即使有良好的带宽和较低的延迟也无法发挥】

2、带宽【带宽低 即使延迟优秀速度 数据量大的传输也会十分慢】

3、延迟

注意我把延迟放到了最后一位 如果要到具体的一项服务器应用【以下以WEB服务举例】的连接速度 则服务器计算时间也要越低越好 这取决于服务器软硬件 在此略过

丢包率 这个是最容易被忽视的 ping不带参数的话 默认只ping 4次。样本数太少 加上-t参数可以无限次数 一般5-20分钟就好 按Ctrl+C键终止程序即可获得报告

0丢包是正常状态【注意不是0%是0】,丢包1-3%,SSH操作会感觉略卡顿,丢包率3%-10% 网站访问速度会慢,丢包率10%以上,网站基本无法打开或者十分的慢

如果ping -t得到的丢包率不为0 可以通过pathping命令检测问题所在

pathping的相关说明其实百毒百科就说的很清楚了 不多叙述

丢包为0是好线路的前提 建议选购主机/服务器的时候ping -t要多运行几次 次次都是0 线路才是比较稳定的

【之所以强调丢包是因为 用ping这种发ICMP包间隔时间大(貌似一秒一个?)数据少的包都会丢包的话 传输数据量大的应用出现比较多的重传的情况也就不足为奇了 而重传会非常影响传输效率而且严重时会加重服务器负担】 

在有0丢包率的前提下 再看带宽

通常打开一个网站 根据页面和元素大小和访客量 对带宽的需求也不一样

但也不难计算 以5Mbps的带宽举例 5Mbps足够一个10KB大小的页面被50个访客同时访问 这50个访客的延迟还必须完全一样 这50个访客打开这个页面都会秒开 而实际上 这还只是假设的理想状态 所以5Mbps的上行带宽可以服务的访客实际上更多

所以如果是图片较少/访客较少的网站 带宽其实没多大问题 其它就看延迟和服务器软硬件

通常的带宽测试方法是在服务器上放置一个空文件然后用其它连接状况良好的服务器wget

至于延迟就很简单了 ping的时候就会显示 但延迟100和180 服务端优化得好 区别真的不会太大

服务器硬件测试则可以用UnixBench软件跑分