当前位置:首页 >> >>

Citrix NetScaler nCoreT

白皮书︱Citrix NetScaler

Citrix NetScaler nCore 技术
将 Web 应用交付性能提升到一个新台阶

www.citrix.com.cn

简介
从全球范围来看,Web 应用开发和部署的增长趋势没有任何减缓的迹 象。事实上,这种增长趋势还在继续。如果您了解了 Web 应用如传统 ERP、CRM 和 Web 2.0 的好处,您自然就不会惊讶了。然而,Web 应 用的飞速发展是以牺牲性能为代价的。大量的新型开发方式和结构(如 Ajax、SOA、Comet 和 Rails)与传统 Web 服务和 JSON 的广泛使用对 网络性能提出了更高的要求,并占用了更多的服务器周期和网络带宽, 这对企业来说是无法承受的。 要适应这些应用的快速增长意味着企业必须提升负载均衡器或应用交付 控制器(ADC)的性能和容量。然而,提升性能并不是简单地采用最新 的 Intel?或 AMD 处理器就能实现的。单个处理器为性能带来的增量效 益已经逐渐消失。企业要实现性能的提升,必须完善 IT 架构,即多核处 理器。与传统处理器不同,多核处理器将多个处理元件嵌入了同一处理 器封装。例如,老式 Pentium? 4 处理器一次只能处理一条指令,但 4 核 Intel? Core? 2 Quad 处理器可并行处理 4 条指令。 一般而言,应用和软件的性能不会因为这些新推出的多核处理器的使用 而得到大幅提升。 换句话说, 主频为 3.33GHz 的 4 核处理器并不等于主 频为 13.32GHz 的一个处理器。

突破单核壁垒
要想通过部署多核或多处理器来实现高性能意味着 IT 必须克服大量的 技术障碍,如进行有效的负载分配,实现处理器间的资源共享,以及确 保能恰当管理不能平行处理的关键功能。 这些技术障碍有一个共同之处, 即同步化。 同步化制约了高性能网络处理,它会在关键时刻放缓所有进程,以消除 潜在冲突,确保程序结果的准确性。极为讽刺的是,同步化的目的是确 保准确性,但设计同步化时增加了复杂性,而随着复杂性的增加,错误 的可能性也越来越大。 同步化带来的负面影响在处理多线程应用时得到了充分体现。在多线程 应用中,任务被分成几个并行运行的小程序(线程) 。初次部署多线程应 用可大幅改善性能。然而,随着应用复杂性的增长和其它线程的增加, 性能又会快速下滑。性能下滑的原因是相互作用的软件组件越多,就需 要越多的同步化,而这样一来,实现多线程同步化所需的时间抵消了多 线程所带来的效益。 最有效的解决方案就是消除同步化,但这说来简单,做起来却很困难。 消除同步化不仅需要重新构建软件架构,还需进行大量的先期规划,并 充分了解硬件、软件和系统之间的相互作用。

2

白皮书︱Citrix NetScaler

Citrix NetScaler nCore 技术
Citrix? NetScaler? nCore?技术作为一种高性能的并行处理架构, 可利 用多核技术实现有效扩展, 以满足要求最为严苛的 Web 应用的需求。 要 构建能有效利用多核处理器的系统必须考虑以下两个问题: (1)系统如 何能够确保所有核心一直处于工作状态? (2) 系统如何消除处理器间的 同步化? 两者是相辅相成的。消除处理器间的同步化让每个处理器可尽可能地实 现最佳性能。 要了解如何成功消除同步化, 首先必须掌握现有 NetScaler 数据包处理引擎的本质属性。

NetScaler 数据包处理引擎
Citrix NetScaler 数据包处理引擎的目的是将数据包从网络中分离出来, 执行大量 TCP/IP 处理进程,加速和优化任务,以及执行安全策略。当 数据包处理引擎处理完成一组数据包时,便会将回应返回到网络,然后 继续处理新的数据包。 NetScaler 数据包处理引擎的高效率使其可在几微秒内完成数据包的处 理。NetScaler 超低延迟数据包处理引擎优化了 Web 应用交付和用户体 验。利用精心设计的分段数据包处理,数据包处理引擎即可消除同步化 需求。这样一来,单个核心上运行的单个数据包处理引擎可支持几千兆 的吞吐量。 与基于 Linux 的普通产品相比, NetScaler 数据包处理引擎的高效率所带 来的影响是非常值得赞赏的。单个数据包在多个不同的层之间穿越时, 传统的 Linux TCP 堆栈会让其排队,然后让其出列。每一层在应用接收 数据前都会要求大量的同步化开销。 由于需要在层与层之间分流数据包, 一些基于 Linux 的产品新增的交换层和 ASIC 延长了延迟时间。 随着 NetScaler 平台的发展,非同步化已变成一个差异化因素,能够以 极高的效率将数据包处理引擎延伸到多个处理器核心。

零共享设计
提升性能所面临的共同挑战就是共享。多个组件需要共享数据时,性能 就成了问题。零共享有以下几大好处: 1、无同步化开销 2、大幅降低复杂性,从而提高稳定性 3、可更妥善地处理故障,因为组件之间不会互相影响 nCore 架构利用 NetScaler 数据包处理引擎的关键属性实现了零共享设 计。

3

通信架构

通信架构 ● SMP 共享存储器总线 ● 1G/ 10G 交换互连接 独立核心 ● 独立运行的核心 ● 利用通信结构实现相互通信 分区存储器 ● 每个核心的运行依靠的都是 专用存储器

每个核心都有属于自己的存储器,大部分 时间独立运行

图 1、零共享设计

零共享的运作原理
nCore 零共享架构采用了一系列数据包处理引擎,每个引擎都具备完整 的 NetScaler 功能,可通过专用存储空间实现应用优化和加速。由于每 个数据包处理引擎都可执行所有可能的功能, 因而可完整进行 Web 应用 交易,无需借助其它数据包处理引擎的力量。 引擎之间的相互独立让同步化不再成为一个问题。同时,资源争夺让数 据包处理引擎再也不用相互等候。如此一来,NetScaler 可在极短的延 迟时间内实现极高的吞吐量。 数据包处理引擎在 CPU 核心上运行时有两种不同的状态:1)搜寻需要 处理的数据包;2)正在处理数据包。每个数据包处理引擎搜寻的是基于 硬件的数据包队列中的数据包。为了支持零共享理念,每个数据包处理 引擎都有自己的队列, 不和其它核心共享。 因为硬件部署是完全对称的, 因此,出站数据包也将通过每个处理器的专用队列发送出去。 由于每个数据包处理引擎可填满整个核心,因此可在核心与数据包处理 引擎之间进行 1 对 1 映射,确保硬件提供的每个可用周期都可得到充分 利用。随着系统新增其它核心,可大幅提高线性性能,提高平台在将来 的可扩展性。

数据包队列中的流量分配方法
在核心之间分配网络流量有多种方法,常用的三种方法是: 1、功能并行性 2、将网络接口映射到处理器 3、个别流量分配 ADC 的功能并行性是通过分离核心间的任务来实现的,最后,指定核心 只承担指定功能。例如,核心 1 专门用于管理网络流量,核心 2 用于处 理 TCP/IP,核心 3 用于 7 层(如 HTTP)处理,等等。表面上似乎很诱 人,因为它将一种功能的峰值从另一种中分离了出来。然而,在现实情 况下,这种架构通常只会大幅降低利用率。例如,如果一个应用要求进 行更多的 7 层处理,而不是 SSL 处理,它也不会将未使用的 CPU 资源 从 SSL 转移到 7 层。

4

白皮书︱Citrix NetScaler

图 2、功能并行性

图 3、将网络接口映射到处理器

将网络接口映射到处理器是传统的联网方法,这种方法是将物理端口硬 连接到指定硬件上。 而新的联网方法则是将 IP 地址映射到指定核心。然 而,与功能并行性类似,它无法实现均衡的负载分配,单个应用就可用 尽核心的容量,而不能利用系统其它空闲核心的容量。 评估功能平行性以及将网络接口映射到处理器这两种方法后,nCore 技 术选择了个别流量分配。 其实, 这种方法就是最细粒度的负载共享机制, 充分利用了单个数据包处理引擎可执行产品的每项功能这一能力,最终 实现了均衡的负载分配,确保系统其它核心有容量可用时,单个应用或 功能不会用完核心的所有流量。

5

图 4、个别流量分配

为了以最高速度实现个别流量分配,必须使用对称的流量分配器。这种 特殊的硬件可捕获发送到个别网络接口的数据包,并快速确定由哪个数 据包处理引擎入站队列来接收指定的网络流量。由于决策的根据是 TCP/IP 报头信息, 因此, 分配器必须确保指定流量的数据包会发送到相 同的数据包处理引擎。

数据包处理引擎
● TCP 堆栈 ● 负载均衡 ● SSL ● 内容交换 ● 策略评估 ● 缓存 ● 压缩 ● 应用防火墙 ● XML ● SSL VPN

流量分配器
● 均衡:在核心间分配流量 ● 一致性:相同流量的所有数据包均被发送到同一核心
● 包括核心发出的流量的数据包

● 顺序:保存流量内的数据包顺序

设备集成 NIC 图 5、通往核心的入站队列

流量分配器使用的算法均衡了所有数据包处理引擎之间的流量分配,从 而确保所有数据包处理引擎能支持系统的全部工作负载。在 nCore 架构 中,宝贵的处理器资源决不会用于同步化开销,也绝不会不均衡地分配 网络流量。

6

白皮书︱Citrix NetScaler

nCore 管理
从历史的角度来看,ADC 资源管理是极具挑战性的。如果处理能力稀缺,最好能将 所有可用容量用于数据包处理引擎。这样的话,就只剩很少容量来支持必要的管理 功能, 如跨一个或多个接口提供 SNMP 通信以及支持管理控制台访问。 NetScaler 但 可保留部分容量以进行管理,因此,即使流量繁重,管理员也能有效管理系统。

图 6、使用专用核心进行管理,并有增长空间

由于 nCore 架构从根本上改变了处理容量的本质,过去稀缺的容量如今 也足够了。因此,nCore 架构可将整个核心及其相应的专用存储空间专 门用来进行管理。 这为管理层提供了更强的灵活性,从而实现进一步的创新和功能开发。 同样重要的是,nCore 架构确保即使是在流量繁重的情况下,管理员也 能获得有效的管理界面。

nCore 的重要性
nCore 技术的高性能和可扩展性对目前和将来的 Web 应用交付有着极 其重要的影响。nCore 技术可: ● 优化 Web 2.0 和富互联网应用的性能 ● 改善处理流量峰值的能力 ● 扩充容量来支持更多用户和更多应用 ● 实现 Web 应用交付需求的多合一平台:4-7 层负载均衡、缓存、 广域负载均衡(GSLB) 、压缩、SSL VPN、SSL 卸载、应用安 全性、性能监控及其它更多功能 nCore 技术将可能消耗很多 CPU 资源的复杂的 7 层工作负载的性能提 高了 6 倍。此外,nCore 技术将并发连接数提高了 7 倍,更多的并发用 户可同时使用应用。

7

白皮书︱Citrix NetScaler

总结
Citrix NetScaler nCore 技术作为一种高性能的并行处理架构,可有效利 用多核技术实现扩展,以满足要求最为严苛的 Web 应用的需求。nCore 零共享设计消除了所有同步化开销,因此,多核技术的改善将继续提升 线性性能扩展。 nCore 架构的线性可扩展性实现了无与伦比的性能-企业有机会开发创 新性解决方案, 以应对未来可能面临的 Web 应用交付挑战。 由于拥有足 够的存储空间和处理器容量, 因而可优化、 改善和扩展 Web 技术的新发 展,而无需重新构建 IT 架构。将来,Citrix NetScaler nCore 将继续提 升性能,并利用充足的容量来开发全新功能。

思杰大中华地区联系方式
亚太区总部 香港港岛东华兰路 18 号港岛东中心 63 层 6301-6310 电话:+852 2100 5000 传真:+852 2100 5002 电邮:sales.northasia@citrix.com 思杰系統台湾办事处 台北市信义区 110 信义路五段 7 号 37 楼 台北 101 大楼 电话:00801611351 传真:886-2-87582999 电邮:sales.northasia@citrix.com www.citrix.com
关于思杰系统公司

思杰系统信息技术(北京)有限公司 北京市东城区东长安街 1 号东方广场 中 1 办公楼 8 层 808-809 室 电话:+86 010 6521 6500 传真:+86 010 6521 6501 电邮:chinainfo@citrix.com 思杰系统上海代表处 上海浦东新区花园石桥路 33 号花旗大 厦 23 楼 电话:+86 021 6101 0392 传真:+86 021 6101 0389 电邮:chinainfo@citrix.com 思杰系统广州办事处 广州市天河区林和西路 161 号中泰国 际广场 A 座 23 层 电话:+86 020 2885 8201 电邮:chinainfo@citrix.com

思杰系统公司(纳斯达克股票代码:CTXS)是全球虚拟化、网络及软件即服务领域的领先技术提供 商,全球客户超过 23 万家,包括全球最大的互联网公司,99%的全球财富 500 强企业,以及成千上 万家小企业和个人用户。 思杰旗下的 Citrix Delivery Center、 Citrix Cloud Center C3) Citrix Online ( 和 Services 产品系列从根本上简化了数百万用户的计算过程,可将应用作为一种服务按需交付给身处 任何地方、使用任何设备的任何用户。目前,思杰与全球 100 多个国家的 1 万多家公司建立了合作 伙伴关系。思杰创建于 1989 年,2008 年年收入达到 16 亿美元。欲了解更多信息,请登陆 www.citrix.com.cn。 ?2009 思杰系统公司版权所有。Citrix?、NetScaler?和 nCore?是思杰系统公司和/或一个或多个分 公司在美国和其它国家的商标或注册商标。所有其它商标和注册商标分属于他们各自的所有者。 0509/PDF

8