宽带路由器性能评判常见误区( 三 )


常见Throughput测试方法有两种,一是Smartbits测试,一是Chariot测试 。Smartbits测试是使用全球最权威的网络设备测试仪器Smartbits2000或6000,配以其附带的专业测试软件SmartApplication,用连续不断的UDP包来测出对不同大小的数据包路由器每秒能处理的包数量 。路由器在处理数据包时,主要的时间花在处理包头、包尾上,所以对于不同大小的数据包,路由器每秒能处理的包数量差别不会太大 。这就象邮局处理包裹,主要的时间是花在处理寄件人、收件人和物品信息以及检查上,包裹重一点轻一点对处理速度影响不会太大 。如128Byte包每秒能处理10000个,并不能做到64 Byte包每秒处理20000个,而是只比10000个略多一点点,比如10100个 。这就给了一些不老实的厂家以可乘之机 。如他的路由器在处理最大的1518Byte包时每秒8000个,根据理论计算处理1518Byte包100M线速的极限值是8127个,所以折算出来的Throughput就是100M*8000/8127=98.44M,于是他就很自豪地公布,我的路由器Throughput高达98.44M,殊不知,原来这个路由器在处理最小的64Byte包时每秒是11000个,根据理论计算处理64Byte包100M线速的极限值是148810个,所以折算出来的Throughput只有100M*11000/148810=7.39M,两者相差13倍多 。这完全取决于我们怎么看待吞吐量,是每秒处理多少个数据包还是每秒处理多少兆数据,就象邮局天天是处理多少个邮包还是多少公斤货物 。从邮局能力角度来看,应该是从天天处理多少个邮包来评判更合理一点,因为这个数据相对来说是稳定的,受邮包重量影响小 。但天天多少公斤货物,受邮包重量的影响就是根本性的,如邮寄的全部是书籍,计算出来的天天处理货物公斤数就很大,假如全是棉花就很小 。实际情况中一定是既有书籍又有棉花还有其他五花八门的东西,但你评估的时候按什么比例来调配这些货物才合理呢?没人说得清,除非有人定一个标准规定各种东西的比例,大家都按照这个标准来计算 。既然没标准,有人就用书籍来计算,有人就用棉花来计算,规矩的人说明我是用什么来算的,不规矩的就乐得浑水摸鱼 。另外,以目前宽带路由器普遍所采用的硬件来看,即使是性能最好的,也不足以达到64Byte小包Throughput线速,但有的人宣称我的产品就有这么好,而且拿出Smartbits测试数据来证实 。这类产品采用的是所谓NAT硬件加速技术,Throughput是很好看,但代价是所有数据都不通过CPU,无法做数据的过滤,门户大开,防火墙不起作用,路由器没有任何治理功能 。
Chariot测试则是用两台服务器,安装NETIQ公司的流行软件Chariot,一台接路由器WAN口,一台接LAN口,通过统计一个预定长度和格式的脚本文件无差错地从一台服务器传送到另一台服务器的时间来计算出路由器的Throughput 。这里面学问就大了 。一是服务器性能,假如性能差,就会成为测试的瓶颈,路由器性能得不到体现,所以不老实的厂家在测试自家的产品时用高性能的服务器,生怕自家的产品性能表现不出来,而测试别人的产品时用低性能的服务器,故意贬低数据 。二是建立连接数,假如路由器软件写得差,在连接数增加时,其Throughput会直线下降,而好的路由器则很平稳,甚至会随连接数的增加反而略有上扬 。假如路由器性能不足,甚至会因无法同时建立这么多连接而测试失败 。所以差的路由器只敢用一对连接来得出测试数据,而好的路由器不怕多连接 。三是Chariot测试不象Smartbits测试那样是测试UDP"包",而是数据"流",其数据封装成多大TCP包和服务器*作系统相关,但一般都封装为1518Byte大包,所以其测试数据会比用Smartbits测试64 Byte小包的数据好看很多倍,这一点很能迷惑人 。

推荐阅读