路由器CPU性能不容忽视提高性能第一位

路由器作为网络的接口设备,在整个架构中起着至关重要的作用,从结构上,路由器是一种专用的计算机系统,而路由器和PC机一样,有着中央处理单元CPU,而不同的路由器,其CPU一般也不相同,CPU也就是路由器的处理中心。

笔者发现到,以往不少路由器导购类文章中,不少地方强调CPU性能并不完全反映路由器性能,而是由路由器吞吐量、时延和路由计算能力等指标体现。因此,许多用户在选择及采购路由器时,都有意无意地忽略了路由器CPU性能,而注重产品的功能等方面的因素。

而事实上,在路由器,特别是新一代被普通应用的宽带多WAN路由器中,由于提供更多先进的功能,需要更多复杂的运算能力,CPU的性能直接决定着产品的硬件性能,不能再被有意购买消费者忽视。而常被强调的路由器的吞吐量、时延和路由计算能力等这些重要指标,都无不与CPU的性能有着莫大的关系。

一是许多购买者都比较注重的路由器吞吐量,宽带路由器的吞吐量是指的内部局域网和外部网络之间的数据流量,也就是LAN-WAN之间的数据流量。而不是LAN-LAN之间的流量,是指在不丢包的情况下单位时间内通过的数据包数量。如果吞吐量太小,就会使作为内外网之间的数据信道的流量管理成为网络瓶颈,给整个网络的传输效率带来负面影响。吞吐量是宽带路由器的硬件性能指标,宽带路由器&CPU将会影响到该吞吐量的数值。

另外一个是时延,时延主要由两大因素造成:传输信道造成的链路传输时延和队列时延。前者主要取决于传输信道所采用的物理介质(如采用光纤传输还是采用无线传输等)并且该时延是固定不变的。而后者很大程度上取决于网关节点路由器的处理速度,也就是取决于该路由器CPU的计算处理能力。

其它重要指标如路由计算能力等相关的因素,都无不和CPU的主频、总线宽度(16位还是32位)、Cache容量和结构、内部总线结构、运算模式等有着一定的关联。无论如何,路由器特别是多WAN口宽带路由器处理器的性能,都是不应被忽视的。那究竟现在的网络,需要的是怎样的路由器?及新一代的路由器对CPU的要求是如何呢?

提高性能第一位

以住,网络应用环境比较单一,网络中的应用及业务都较少,对路由器的业务性能,可靠性,安全性,服务质量等要求也就较低。但是近年来,网络发展越来越快,人们对信息人的要求也越来越高,我们可以看到,不仅应用环境运行环境和业务特点各有不同,建网的方式也千差万别,对路由器业务的需求也越来越多,日益复杂。

例如中小企业的网络规模越来越大,多种网络应用、不同用户的多种应用要求,要求宽带路由器的功能齐全、稳定。又例如。有越来越多的企业将众多业务引入了企业网,也有需建立企业内VPN网络等的业务,而这些业务又各需获取相对独立的资源,来满足各个不同方面及应用的要求。

路由器提供的业务类型将越来越丰富,其压力也随之而加大,路由器处理器的性能受到了很多的考验。性能已成为路由器发展中与业务能力并驾齐驱的关键因素,路由器需要的已不仅仅是业务功能的"有"或"无"的问题,而是如何提供网络整体高品质的业务保证。

过去的路由器处理速度最高为150-200MHz之间,以这样的效能,跑单WAN路由应用是足够,但是若网吧需要进行带宽管理或防火墙等动作时,对每个封包都要进行过滤,这时,性能不足的CPU就会出现响应速度偏低、对应数据处理的能力不足,处理器资源被大量占用,降低进程处理速度的情况,不仅不能将带宽管理等功能发挥出来,更是影响了原有的带宽,得不偿失;

又例如是企业要启动QoS、安全、VPN业务时,处理器就会出现性能急剧下降的情况,成为性能瓶颈,甚至出现死机的情况,继而导致整个网络的瘫痪或崩溃,当然就遑论为用户提供高品质的服务了。当CPU的性能不能满足业务的处理要求,则系统性能将大幅下降,通常会损失一半以上。

因此,多WAN口路由器必须采用高速的CPU及大容量的存贮器,否则根本无法胜任多个WAN端口的流量,更不用说对每一个IP包进行解析处理的各种繁重任务了。

CPU指标也重要

由以上的分析可以看出,要提供高品质的业务保证,首先要解决性能瓶颈--CPU的性能问题。而要判断路由器的CPU是否符合要求,目前一般以以下几个指标及参数进行分析及判别。

宽带路由器的主要硬件包括处理器、内存、闪存、广域网接口和局域网接口,其中处理器即CPU,就是最核心的部件,其中有以下的几个关于CPU的重要指标,是决定宽带路由器档次的关键。

首先,CPU 的指标是 MIPS (Million Instruction per secon, 每秒能处理的百万个指令),也就是路由器的处理能力了,前面已经说过,如果CPU的处理能力不足,就会影响路由器内部软件系统,当不同功能指令集中地发出时,就会在CPU这个性能瓶颈上造成堵塞,导致死机的情况出现。因此,MIPS的指数越大,即其CPU的计算处理能力就越高,从而保证了路由器在处理各种复杂业务时具有足够的处理能力,确保启动复杂业务时可保持较高的线速转发。

CPU 的时钟频率,单位为Mhz,数字愈大代表CPU执行指令的速度愈快,也是CPU性能比较的方式之一。

I-Cache (指令高速缓存) & D-Cache (数据高速缓存) 的大小会影响 CPU 的效率。高速缓冲存储器Cache是位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。在Cache中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从Cache中调用,从而加快读取速度。由此可见,在CPU中加入Cache是一种高效的解决方案。在传输速度有较大差异的设备间可以利用Cache作为匹配来调节差距,或者说是这些设备的传输信道。

CPU性能大PK

那么,目前市面上在用的路由器,其CPU的性能到底是怎样的呢?

以目前来说,市面上最常用的多WAN路由器处理器是ARM9或MIPS的产品,这二种处理器,处理速度最高为150-200MHz之间,在效能方面只属一般,要兼备VPN连接功能等特殊应用的性能项,必须采用更快的处理器。现在最适用于多WAN路由器应用的处理器,首推Intel IXP425 533MHz处理器,它可大幅改善路由处理的效能。

以上的MIPS推算是从同系列核心,或是类似系列核心的数值所推算出来的近似值,不能代表实际的数值。真实的数据应该要从 ARM、MIPS、或是 Intel 取得为准。

以上列出的几个重要参数,均对路由器的其它一些功能起着重要的决定作用。由对比中可以看出,Intel IXP533MHz 的效能大约是另外两个的 2.5 倍,而时脉、缓存等的配置亦因应有较高的提升,从而保证了路由器在处理各种复杂业务时具有足够的处理能力,确保启动复杂业务时可保持较高的性能。

另外,为了因应网络处理的加速,辅助处理器就像台式机的运算处理器一样,专门执行特定的工作,可让主 CPU 做更有效率的其它运算,相当于有多颗处理器可处理路由、带宽管理、QoS等的工作,实际的执行性能较数字上的2.5倍为高。

以实际应用来看,我们发现传统ARM或MIPS为基础的处理器,在网吧使用的带机量,在没有作任何带宽管理设定下,最多只有五十个使用者速度即慢下来。在设定带宽管理的情况下,则依设定的规则,人数更少时即出现网速变慢。

结语

新一代的处理器使路由器能力非常突出, WAN to LAN吞吐量达到线速或准线,远非普通中低端的传统企业级路由器和SOHO级路由器可比,消费者购买时需要注意。

好的CPU就像是汽车的引擎,引擎不够力,再好的车子也跑不起来,再完善的系统也形同虚设。在新一代应用环境,如大型网吧,大型企业中,网络架构的可用性和稳定性同样重要。总而言之,在选购新一代宽带路由器产品时,其CPU的性能是绝不能被轻易忽略掉的。

(0)

相关推荐

  • 路由器CPU性能不容忽视提高性能第一位

    路由器作为网络的接口设备,在整个架构中起着至关重要的作用,从结构上,路由器是一种专用的计算机系统,而路由器和PC机一样,有着中央处理单元CPU,而不同的路由器,其CPU一般也不相同,CPU也就是路由器的处理中心. 笔者发现到,以往不少路由器导购类文章中,不少地方强调CPU性能并不完全反映路由器性能,而是由路由器吞吐量.时延和路由计算能力等指标体现.因此,许多用户在选择及采购路由器时,都有意无意地忽略了路由器CPU性能,而注重产品的功能等方面的因素. 而事实上,在路由器,特别是新一代被普通应用的宽

  • 如何用分表存储来提高性能 推荐

    首先,童家旺介绍了他认为的什么是优化:第一.做任何事情最快的方法就是什么也不做. ▲支付宝资深数据库架构师童家旺 第二.不访问不必要的数据:使用B*Tree/hash等方法定位必要的数据.使用column Store或分表的方式将数据分开存储.使用Bloom filter算法排除空值查询. 第三.合理的利用硬件来提升访问效率:使用缓存消除对数据的重复访问.使用批量处理来减少磁盘的Seek操作.使用批量处理来减少网络的Round Trip.使用SSD来提升磁盘访问效率. 响应时间和吞吐量之间的关系

  • 5个可以在Golang中优化代码以提高性能的技巧分享

    作为一名软件工程师,确保你的代码高效且性能良好是非常重要的.在Golang中,有几个最佳实践和技术可以用来优化你的代码,以获得更好的性能.这里有五个技巧可以帮助你开始工作: 1.明智地使用指针.Golang使用指针来引用内存位置.虽然指针在某些情况下很有用,但如果过度或不正确地使用,它们也会导致性能下降.例如,使用指针向函数传递大的结构或 slice 会导致不必要的内存分配和复制.相反,可以考虑通过值传递这些类型. // Bad: Passing a large slice by pointer

  • JavaScript 总结几个提高性能知识点(推荐)

    前段时间花时间看了大半的<High Performance JavaScript>这本书啊,然后就开始忙项目了,庆幸最忙的一周已经熬过去了.由于空不出时间,这个月写的学习笔记也不多,忙完最苦X的一周,这两天晚上也算是挑灯夜读了...终于是在残血之际将这本书shut down了... 既然读完了,总归是要学到些什么的.说说对这本书的看法先吧,整体的来说,内容还是不错的,就是感觉有点老了(作为前端小白,也可能是自身水平有限,未能体会到其中真意).看这本书的过程中也是写了挺多代码用以测试的,并且对本

  • JavaScript提高性能知识点汇总

    一.针对js文件的加载位置 在HTML文件中,<script>标签是可以加在<head>区域和<body>区域的.这里鉴于JavaScript执行和UI渲染的单线程原因,如果js文件载入会阻塞后面对于页面的解析过程,页面会等到js文件完全加载并运行后才继续执行该做的操作.那么问题就来了,这样可能会出现页面空白or卡顿现象.作为一名前端开发,重要的不仅仅止于实现了需求,应该还有优质的用户体验.那么我们就需要消除用户枯燥的等待,针对这个问题,这里有本兽想到的两种解决方案:

  • Android性能优化及性能优化工具

    目录 1.Allaction Tracking (1)追踪 (2)分类我们的内存分配 (3)查看统计图 2.LeakCanary (1)配置 (2)制造一个单例内存泄漏的点 (3)LeakCanary 发出内存泄漏通知 (4)LeakCanary 分析 3.Lint分析工具  性能优化的帮助工具: MAT, Memory Monitor(属于AndroidMonitor中一个模块), HeapTool(查看堆信息), Allaction Tracking, LeakCanary Lint工具 1

  • Java Integer如何获取第一位和最后一位,并截取

    目录 Integer获取第一位和最后一位并截取 场景 求Integer位数的巧妙方法 Integer获取第一位和最后一位并截取 场景 获取 5,10,15,25,30; 判断尾数为5的进入判断 public static void main(String[] args) {         String str = "数据测试,自定义字段";         //判断第一个字符是否为"数"         if (str.startsWith("数&quo

  • 编写Vue项目,如何给数组的第一位添加对象数据

    目录 Vue给数组第一位添加对象数据 给数组添加新对象并赋值 Vue给数组第一位添加对象数据 核心代码如下:      this.menuBar.unshift({           title:"全部",           id:13         }) 全部代码如下:     data(){         return {            menuBar:[             {               title:"家具生活",    

  • PHP中使用hidef扩展代替define提高性能

    网站需要新加一个常量,打开了本地的config.php文件,想到了几年前测试过的hidef以及apc提升define性能的方案. 我的程序中有对开发.测试.生产服务器分别做了不同的配置,在常量方面则使用了一个数组定义了所有需要定义的常量,然后检测是否有apc_load_constants函数,没有的话,批量define.使用apc时,每增加一个常量,还需要修改一下$key才能生效. 而现在测试.生产服务器php都升级到5.4后,opcode缓存就使用了Zend opcache,不再安装APC.因

  • JavaScript知识点总结之如何提高性能

    JavaScript的性能问题不容小觑,这就需要我们开发人员在编写JavaScript程序时多注意一些细节,本文非常详细的介绍了一下JavaScript性能优化方面的知识点,绝对是干货. 先给大家巩固下javascript基本语法: javascript基本语法 定义变量统一用var关键字 语法:var 变量名称=变量值 标示符:①.由字母数字下划线构成 不能以数字开头 不能是关键字 严格区分大小写 数据类型: 数值型:number 字符串:string 布尔型:boolean 特殊数据类型:u

随机推荐