最近在研究网络协议栈性能怎么测试,觉得网上的资料都只是片面在谈论如何进行网络性能测试,而不是协议栈本身.看了很多资料之后,我认为测试网络协议栈只和以下三个指标有关:
1.传输速率:每秒钟通过信道传输的信息量称为比特传输速率,也就是收到和发送数据的速率,单位是比特/秒(b/s),简称比特率,使用wget/ftp测试下载/上传的速率,或者编写简易的server/client端,添加网络环境测试传输速率即可。
2.吞吐量:吞吐量是指在没有帧丢失的情况下,设备能够接受并转发的最大数据速率,也就是真实的传输上限,使用iperf3在测试中以一定速率发送一定数量的帧,并计算待测设备传输的帧,如果发送的帧与接收的帧数量相等,那么就将发送速率提高并重新测试;如果接收帧少于发送帧则降低发送速率重新测试,直至得出最终结果。吞吐量测试结果以比特/秒或字节/秒表示。
3.处理时延:添加时间戳,测试协议栈终端到read再到send再到驱动的时间。
除此之外的其它指标,例如:带宽,利用率等都不是网络协议栈性能的本身指标:
带宽,我认为是一个硬件提供的固定值,与网络协议栈的性能没有什么关系,而对带宽的利用率,我觉得就是测试吞吐量的过程,吞吐量越高,便说明协议栈的性能越好
利用率:只是运营商关心的问题,而不是网络协议栈的性能指标,例如一条高速公路,指定可以跑100辆车,那么只跑10辆便是10%,跑100辆便是100%.
有没有大神还要补充呀