系统I/O存在的症结就在与企业的IT管理人员没有最终确定,在自己的系统中哪些是关键应用,哪些是普通应用,以及各种应用的运行状态,带宽资源的占用情况和网络使用的效能。
如果你是企业的IT主管,碰上这样的问题,肯定不会轻松:员工不断向你抱怨网速慢,大量的时间和精力都浪费在漫长等待中;客户打来电话,投诉你所属企业的网上订货系统形同虚设,不但速度可与蜗牛相比;而且故障频发……
这时候你会想,自己明明已经投入了资金,把网络带宽提高了10倍。为什么网络应用程序的响应速度和可靠性没有相应的提高呢?问题究竟出在哪里,又该怎么解决呢?记者就此采访来自浪潮的服务器产品经理程妙玉和能够为网络用户提供带宽管理、流量控制、应用优化解决方案的美国迈科公司的技术专家陈刚,他们就服务器的I/O管理和网络带宽管理给出了他们的建议。
提升服务器I/O性能是必须
处于成长期的企业,“弹性”被确定为重要目标。但是,服务器的网络I/O性能提升瓶颈,却成为了企业业务、乃至整个信息化的障碍。终于用上服务器了,却遭遇了堵车一样的被动局面。
严重不匹配产生延迟
作为服务器方面的技术经理,程妙玉在服务器I/O性能提升方面有她独特的见解。据她讲,目前,网络基础设施从快速以太网向千兆以太网(1GbE),甚至万兆以太网(10GbE)迅速迁移,网络数据处理需求正逐渐超越服务器的支撑能力,而且随着网络通信和交易处理工作负载的与日俱增,差距越拉越大。
对于这个差距的出现,程妙玉说她个人认为是与目前网络通讯中广泛使用的TCP/IP有关。网络数据包处理过程中,所产生严重的延迟来自系统开销、数据移动(内存存取)等。
数据移动是导致系统延迟最严重的过程。每处理一个数据包,至少需要访问五次系统内存。由于内存速度大大低于处理器,在进行内存访问时,大量的处理器时钟周期被闲置。
网络带宽、处理器速度与内存带宽三者的“不匹配性”,造成了延迟。处理器速度比内存速度快得越多,等待相应数据的延迟就越多。而且,处理每一数据包,数据必须在系统内存、处理器缓存和网络控制器缓存之间来回移动,因此延迟并不是一次性的,而是会对系统性能持续产生负面影响。
有方案但仍待完善
对此,程妙玉说,目前业界有三种解决方案:即TCP/IP卸载引擎(TOE)、远程直接内存存取(RDMA)和被称为“加载”的技术(TCP Onload Engine)。随后,她又做了详细的解释。
TCP卸载引擎(TOE)通过网卡上专用的I/O处理器来处理所有与协议计算相关的任务,从而减轻系统主处理器的工作负载。这一技术在TCP/IP数据包拥有某些理想特征的环境中表现极佳,但如果环境不理想,效果则不明显了。
远程直接内存存取 (RDMA技术)能够支持发送源系统,将数据有效载荷直接存放到目标系统的指定位置。此操作由传输两端的网卡进行协调,移动网络分组数据时所需的处理器时间大大减少。
RDMA潜力巨大,但是仍要过几道“关口”,如:安装卸载引擎来卸载RDMA层和传输(TCP)层、在每台服务器上安装专用网卡(NIC)、需要全新的编程接口等。为了解决这些问题,用户甚至需要修改整个应用,成本高昂。此外,在安全问题上,RDMA也不尽如人意。众多因素使RDMA局限于某些特殊的应用环境。
“加载”技术(TCP Onload Engine)仍使用系统主处理器作为处理网络流量的主要引擎,但它是在整个平台范围内应用相应的技术,以减少内存存取操作造成的系统延迟,进而提高处理器的工作效率。
如何来改善服务器的I/O瓶颈,各服务器厂商想尽办法,包括Intel自己也推出的I/O的技术,不过,对此,程妙玉也认为, Intel的I/O加速技术是一种方案,但这种方案并不是在任何情况下都有优势。
包括浪潮自己,也推出了服务器网络I/O加速技术,这是一款系统级的解决方案,可以解决服务器数据包和有效负载处理瓶颈问题。它除了能够提高服务器的应用性能之外,还能够通过全面的错误检测,降低与外部存储设备间数据传输的相关风险。但是,这也并不是说,用了这个方案就可以完全地改善网络系统的I/O性能,它还需要改善系统所属的网络环境。
网络性能直接影响系统I/O
对于系统的I/O问题,来自美国迈科的陈刚也有他的想法,他说,突破服务器的I/O瓶颈只是提升服务器的应用效能,要想完全改善整个网络系统的I/O性能,还需要在带宽管理、流量控制、应用优化等方面做文章。
第七层网络应用考验网络性能
在网络带宽管理方面打拼多年的陈刚说,当今的网络应用已经从物理层连接的建设,数据链路层高速网络的实施,网络层全球化的路由交换和会话层的应用,发展到了网络应用层也就是OSI第七层的应用。
但是随之而来的如何保证网络应用的性能已经成为困扰所有网络用户的问题,成为所有网络用户迫在眉睫需要解决的问题。在此前的网络物理层、数据链路层、网络层(IP层)甚至会话层(TCP层)的网络安全与性能有比较成熟的解决方案,如防火墙阻隔、L3/L4交换机过滤、L2交换机802.1Q VLAN阻隔等等。然而,当今网络第7层的应用已经使得这些技术形同虚设。
目前网络用户几乎都被同样的问题所困扰,比如网络出口虽然不停的扩展,并且使用了最好的路由器,但是访问速度却反而越来越慢;虽然增加了性能最好的硬件防火墙,但是由于会话数太多,导致防火墙经常死机;虽然对Email服务器进行了防病毒系统的升级和保护,可还是有病毒、木马通过MSN、QQ或BT等传入内网,导致网络瘫痪;虽然宣称具有最好的QoS保障机制,但是视频会议、VoIP系统还是效果很差,ERP等关键应用也是时断时续。
对此,陈刚解释说,导致这些问题存在的症结就在与企业的IT管理人员没有最终确定,在自己的系统中哪些是关键应用,哪些是普通应用,以及各种应用的运行状态,带宽资源的占用情况和网络使用的效能。
绝大多数用户对自己的网络完全处于失控状态。特别是随着P2P、IM的普及和大量使用,不仅降低了企业至少30~40%的生产率,而且这些应用还占用了大量的带宽资源,带来网络拥塞等严重影响网络使用的棘手问题。
让网络可见可测可控可优化
如何来更好地管理自己的网络,优化网络应用,陈刚给出了他的观点:要让网络实现可见、可测、可控、可优化。随后,陈刚对此也给出了详细的解释。
可见、可测就是应对网络中的应用流量,进行定性(可见)和定量(可测)的实时监控和分析。目前由于应用流量的复杂性和多变性,使得传统的基于IP地址和协议端口的流量识别技术已无法满足宽带网络应用成分分析的要求。比如美国迈科就提出了可以引入特征码识别技术,来对网络中所有流量进行精度分析。
可控、可优化则包括了四个方面的内容。
首先是对关键业务的有效保护,客户使用的关键性业务(ERP系统、视频会议系统、VoIP系统等),网络拥塞带来的时延过长、抖动异常等问题会直接导致用户的不良感受。所以对关键性业务流量进行优化并提供充足的带宽通道是提升网络使用效能的重要环节。
其次是提供精确的带宽预留和带宽优化,对链路带宽进行优化,划分为不同的管道,分配给不同用户和不同应用使用。并采用带宽租借技术,在带宽空闲时,允许高端客户和关键应用进行合理的带宽突发,以保证高端客户和关键应用的服务质量。
第三是提供面向用户和应用的带宽服务,在为关键用户分配专用带宽的基础上,可以为单个用户/应用进一步分配独立的带宽通道,即保证关键用户或关键应用的服务质量,同时,这也可以避免其对带宽过度使用造成的业务影响。
第四是对非关键业务的灵活控制,常规的Http、E-mail等的应用,可以采用较为宽松的管理策略,为所有普通业务分配一个“管道”,并设定一个合理的带宽范围。既可以保证其访问速度,又不至于使其影响其它关键应用。
P2P、IM等网络应用往往会大量的占用网络带宽资源,造成网络的拥塞,而且会大幅降低工作效率并带来防不胜防的病毒危害。控制它们的带宽占用和无节制的使用,是保证网络使用效能的重要举措。例如给予这些应用相应的最大带宽限制或按时间段进行使用限制,以确保网络的服务质量和工作效率。