如何评价特定环境下的硬件设备的网络质量?
一、什么是网络质量?
网络已经成为现代人类不可获取的一部分,网络质量的好坏不光是影响使用体验,更是决定很多功能是否可用的决定性因素之一。百度“网络质量”或“网络性能”,并没有对应的词条解释,因此本文将以“网络质量”作为唯一评价网络好坏的通用名词。当然,当我们考察网络好坏的角度不同时,也会有各式各样的专有名词对其进行描述。而本文都把这些专有名词作为“网络质量”的子项,当本文使用网络质量时,其描述对象是指包含硬件、软件、环境等多种因素的系统整体。
二、影响网络质量的因素有哪些?
影响网络质量好坏的因素是多方面的,常见的有如下因素:
1.硬件因素:网卡、网线、路由器、交换机等硬件设备自身的瓶颈。
2.软件因素:系统、软件功能对网络传输数据的控制逻辑,超时处理机制等。
3.环境因素:网络拓扑图结构、无线网络的网络环境状况等。
三、常见的评价网络质量的指标
1.网络带宽(bandwidth):指单位时间内传输的数据量,基本单位是bits per second,常用单位Kb/s、Mb/s、Gb/s、Tb/s。实际使用中常常指计算机网络中的主机在数字信道上的最大速率。注意,计算机网络中可能不止一台主机,且每一台主机可能同时运行多个程序,每个程序各自有其通信的对象。所有主机及其运行的程序共享网络带宽。
2.网络传输速率:指每秒钟传输的二进制数的位数,单位与网络带宽一致。实际使用中常常指两个设备(程序)之间数据流动的物理速度。例如,百度网盘的下载速度。
3.吞吐量:主机之间实际的传输速率,不仅仅衡量带宽,还衡量CPU的处理能力、网络的拥堵程度、IO瓶颈、报文中有效数据的比例等。注意吞吐量指标指的是剥除各级网络协议的协议头后的实际有效数据的传输效率。
2.时延(latency):单位数据(报文)从一条网络链路的一端发送到另外一端所需要的时间,一般即时类游戏玩家十分关注该指标。总时延=发送时延+传播时延+处理时延,时延比例最大的部分是优化时的重点。
3.带宽时延积(bandwidth-delay product):指的是一个数据链路网络带宽与时延的乘积,其结果是当前时刻“在路上”的数据总量,说人话就是已经发送但是尚未接受的数据总量。RFC1072中定义如有一个网络的带宽时延积显著大于12500字节,就被认为是“长胖网络”
4.网络丢包率:(发送端发送数据包数量-接收端接收数据包数量)/发送段发送数据包数量。丢包的原因可能时软件bug,也可能时硬件bug,还有可能仅仅是因为网络拥堵。在视频传输过程中丢帧是丢包引发的更严重的后果,可能导致视频卡顿等。
以上是有线网络无线网络通用的一些指标,而下面这些时无线网络特有的指标:
5.发送功率:表征无线设备发送无线信号强度的大小,在其他条件一致情况下,功率越大,其性能越好。
6.信道干扰程度:指的是无线设备当前工作的信道内其他设备通信链路的数量,当前信道工作的设备越多,其信道传输速率就越低。
7.终端无线网卡接收灵敏度:由于设备体积结构、芯片功率、天线增益等因素,导致终端接收无线信号的能力也不同。
四、设计一款产品功能时,如果评估"网络质量"对功能使用的影响?或者说怎么样优化网络质量,从而提升功能的可用性、易用性?
1.从需求出发,评估该功能的每秒钟需要传输的数据量是多大。如小米1一亿像素手机要求每秒传输一张图片到PC终端,假设该图片不进行任何压缩,每个像素点3个字节表示,总大小是24亿bits,这样大小的数据如果要在1秒内发送出去,需要手机的数据吞吐量达到多少呢?
2.评估选用合适的网卡,百兆网卡,千兆网卡或者更高的网卡。注意网卡的标称传输速率在实际系统中是达不到的,一般打个6~8折作为上限纳入考量。
3.硬件设计充分进行射频领域的测试验证。
4.软件功能开发过程优化传输端和接收端的数据缓冲发送接收机制,充分利用标准协议的优先级设置选项等。尽可能做好丢包处理机制。增大有效数据占比,如拼包机制、选择JSON报文替代XML报文等。
5.确定使用的场景,以便搭建测试环境。这里的场景包含网络拓扑结构,路由节点数量及性能瓶颈,无线网络环境下的距离,信道环境,障碍物等因素。
6.实际测试,寻找网络质量的瓶颈因素:如发送端数据发送效率、网络传输效率、网络拥堵、信道干扰、路由节点数量、接收端数据接收效率等。针对不同的瓶颈,寻找优化的空间和途径。当然越早的发现瓶颈,新产品开发付出的成本越低。
在产品开发过程未能意识到网络质量的瓶颈因素,一味地追求大数据量、高实时性的功能业务交互,待到产品推向市场才发现能够跑得起该功能的客户屈指可数,大多数购买产品的客户五星分期,先给一星。
浙公网安备 33010602011771号