Focuscom

运营商解决方案
交换网络搜索流量模型分析

随着Internet网络的发展,出现各种各样的新业务应用模型,互联网站数据中心的建设需求也持续增多,推动着数据中心从架构到技术不断更新换代向前发展。搜索类业务作为具有代表性的一类业务应用模型,不仅在大型专业搜索网站,而且在任何海量信息提供的应用中都是必备的功能组件,同时也对数据中心的传统网络架构提出了挑战。

搜索业务流量模型对数据中心网络系统的挑战

1. 搜索业务结构
搜索业务应用模型是一种Browser/Server/Server结构的高性能计算应用模型。下面以某大型搜索业务提供商的业务模型为例进行结构分析。

 

图1 搜索业务数据中心架构
 

服务器按照搜索业务的定义,一般分为UI(User Interface)服务器与BS(Back Server)服务器两个分区。UI界面服务器负责维持与所有BS服务器的TCP长连接,当收到来自用户的搜索请求后,以单播的形式向BS发送搜索请求。BS服务器集群内的服务器收到请求后,搜索本地数据库并将结果响应给UI服务器。UI服务器接收到响应后作进一步处理并返回给用户。

在UI服务器与BS服务器之间还可以部署一层汇聚服务器,目的是减少收敛比。但这样部署会增加响应延迟,因此实际的网络部署中汇聚服务器层经常被省略,UI服务器与BS服务器的比例有时高达1:300。

 

2. 搜索流量特征
搜索业务中的丢包定义为应用层的丢包。UI服务器发出请求后,在收到BS服务器集群返回的第一个响应报文时开始计时,等待200ms,如果在200ms内不能收到所有的响应报文,那么认为存在丢包。此200ms的定义,实际上就排除了TCP层的重传机制。这样的定义是基于搜索引擎应用的性能要求推导而来。为此搜索服务提供商一般会开发相应的监控程序对业务丢包情况进行实时监控。
一般地,搜索业务具备以下的关键流量特征:
1) 并发性
根据前面的搜索业务流程说明,所有的BS服务器在收到UI服务器的请求后,都会将得到的搜索结果发回给UI服务器。这就意味着,当BS服务器业务较忙时,搜索结果的回应会存在一定时差,而当所有的BS服务器均空闲时,返回搜索结果的动作将同时并发完成。所以说BS服务器集群越空闲,并发性越明显。

2) 突发性
突发性也和BS服务器的忙闲程度有关,通常伴随着并发性产生。服务器均使用GE上行,对每个响应的应用层报文大小30KB,约为20个左右的1500字节帧。GE链路亚毫秒级时间内即可传输完毕,当存在大量BS服务器做UI查询响应时,瞬间流量的突发极其严重。

3) 不可丢失性
根据搜索对象的热门程度,BS服务器搜索到的内容会略有差别。对于热门词汇的搜索结果通常可达到30KB左右,因此在TCP层存在分片。根据搜索业务对丢包的定义要求,只要网络设备在传输此类响应报文时丢失了一个报文分片,就可以认为是对该BS服务器的查询失败。在BS服务器大量空闲导致并发数据量极大时,如果网络设备性能无法满足并发数据的转发要求而造成较多丢包,会导致在客户端通过浏览器查询出现无法打开搜索结果页面的情况。

 

3. 搜索业务流量突发的挑战
一个UI请求就会产生一个流量波峰。某些国内的搜索业务提供商还会采用二级搜索,流量则会翻倍。

当交换网络系统中流量突发拥塞时,如果系统的缓存调度能力有限,集中业务访问导致流量突发情况下必然会丢包,引起传输层的窗口滑动、重传和流量环境进一步恶化,降低服务响应能力。而传统的交换方式最多只能进行8种流的区分和调度,业务能力有限,难以满足当前数据中心的高密度应用需求,特别是在浪涌突发环境下,粗粒度的调度能力和低容量的网络缓存,无法解决关键应用的高吞吐量突发访问业务问题。

 

应对搜索业务流量模型的数据中心网络解决方案
 

为解决数据中心高密度应用的调度、流量的浪涌式突发冲击等关键的性能问题,需针对该模型下数据中心交换平台的基础网络架构设计进行技术革新。
 

1. 硬件流控与业务调度
首先是在交换平台上提供硬件化的流量管理能力。目前业界主要是在接口板上部署实现此功能的转发芯片,对出入方向的流量进行精确控制管理。大容量的缓存加上密集的硬件调度队列,将调度能力扩展到上万个队列,上层应用数据流一旦进入相应的硬件队列,就可以实现大范围(远超过8个队列)的数据中心级业务调度能力,如图2所示。

 

  

图2 大缓存与整体业务调度
 

2. 分布式缓存
另一个技术变革是改变传统交换系统的出端口缓存方式,采用分布式ingress缓存架构。传统的出端口缓存方式,由于整个系统的业务突发容载能力仅由出端口可分配的缓存大小决定,因此容量是固定的,流量达到一定的突发界限,即瞬时突发数据量超过了出端口缓存大小时,便会导致整个系统出现丢包。此问题是由其设计局限性所导致的,只有从根本上改变此种缓存方式才能够彻底解决。
分布式缓存技术有别于传统方式的架构。如图4所示,正常转发过程中,出端口是以不超过万兆线速对外转发数据,当出现多个万兆端口到一个万兆端口突发流量导致的超万兆拥塞时,在出端口的报文标记队列计数将快速增长,达到一定阈值时便将端到端的流控信息通知各流量的来源(ingress)接口,ingress接口缓存即开始将突发流量缓存到本地并停止或减少对出口发送数据,同时出口仍然以万兆线速发送。当出端口解除拥塞状态后,流控信息通知ingress接口解除缓存状态,对入接口方向的数据流量进行正常转发。
整个分布式缓存机制由流量管理器在硬件层面协调,无需软件参与,因而工作在系统时钟级别。而且每个ingress接口缓存大小均要求在万兆全线速条件下达到200毫秒的突发流量缓存能力,因此,在突发引起的瞬时拥塞时,N个端口向一个端口转发的缓存能力是N*200毫秒,与传统的出端口缓存固定能力相比有了本质的提升。

  

图3 分布式缓存架构
 


搜索业务只是新业务模型的一个典型代表,其他包括P2P、视频共享、WEB2.0、电子图书和云计算等新应用,都需要数据中心网络对其业务模型的稳定运行提供强有力的支撑。从网络技术角度来讲,应对新业务挑战的主要发展方向将是:更高速、更全面、更快速、更稳定、更可靠、更精细。