负载均衡服务课件_第1页
负载均衡服务课件_第2页
负载均衡服务课件_第3页
负载均衡服务课件_第4页
负载均衡服务课件_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十一讲 负载均衡服务一、服务性能二、常用分析方法三、负载平衡内 容一、服务性能性能的重要性: 核心质量属性之一正确健壮安全 高效易维护什么是高效性:包括时间高效性与空间高效性时间高效性主要是指系统响应时间小、吞吐率高空间高效性主要是占用资源(例如:CPU、内存、数据库连接、网络连接等等)少类似内容还包括:同时服务的客户数目等由于早期CPU的计算能力有限内存容量也有限因此程序的效率问题在早期很受重视:算法复杂性的研究长期以来是计算机科学的重要内容衡量一个算法好坏的主要标准是时间开销与空间开销仅十多年年来,对效率问题的重视程度有所下降:为提高开发效率,人们往往以牺牲代码效率为代价例如大量系统软件

2、、框架的引入方便了应用软件的开发同时导致调用层次过多、系统执行效率下降 只是由于硬件速度与容量提升较快盖过了软件效率的下降使最终用户感觉系统速度还是增加了为了提高用户的响应时间许多系统以大量的重复冗余计算为代价:为同一个用户请求创建在多个机器上的计算并将最先得到的结果返回给用户将后续得到的结果直接抛弃 google:一次Google搜索所消耗的电能可以足够一个11瓦的节能灯亮15分钟到一个小时降低对效率的追求 是导致IT系统能耗增长的因素之一随着能源问题的日趋突出这方面的研究迫切需要加强如何提高效率?基本过程:分析效率=发现问题=调整基本方式:离线 在线二、效率的分析方法1、静态分析2、动态测

3、试3、在线监测1、静态分析通过静态分析可以发现程序中:从来就不会执行的代码(Dead Code)不会被引用的变量或者赋值操作不需要的检查不必要的串复制(strcpy)、数字转换等等然后就可以对代码进行优化:在不改变程序语义的前提下剔除冗余的代码,从而减少内存开销,提高执行效率2、测试这个过程需要自动化的测试工具来辅助完成:测试工具主要用来模拟多种正常、峰值以及异常负载条件从而对系统的各项性能指标进行测试效率测试可以使在用户模拟的环境中进行的由于软件的运行效率与运行环境有很大的关系因此效率测试更需要在系统部署到实际环境中但还没有实际上线时进行3、在线监测在系统实际运行过程中分析性能对效率进行监测

4、的主要对象包括:系统的响应时间CPU负载情况内存使用客户连接实例数目内部类型的实例数目数据库连接实例数目等等三、负载平衡在由大量处理结点组成的集群系统中系统在服务过程中提高资源利用率降低请求响应时间的有效手段1、负载平衡方案 2、Web层的负载平衡3、EJB层的负载平衡4、动态负载平衡技术 内 容1、负载平衡方案 负载平衡点负载平衡粒度负载平衡算法负载平衡点负载平衡点指作出负载平衡决策的位置独立的负载均衡器上、服务节点自身、客户端在多数情况下负载平衡由单个节点完成单点负载平衡好处:便于获得系统的全局状态,作出全局一致的决策;能实现复杂的负载平衡算法,获得最优的效果;便于支持多种平衡策略,适用于

5、不同的应用环境单点负载平衡的不足:负载平衡点可能成为性能瓶颈影响系统的伸缩性也可能单点失效多点负载平衡可以获得比较好的伸缩性,但一般仅能使用静态算法存在两种类型的多点负载平衡一种是多个节点独立地进行决策,其综合效果取决于单个节点的负载平衡效果与多个节点的叠加效果;另一种是多个节点并行地做出相同的决策,如根据请求的源地址(或目标地址)进行静态散列以确定服务节点,此时多个物理负载平衡点等价于单个逻辑负载平衡点。当客户数量众多而又无法依赖高速硬件来完成负载分发时,多点负载平衡可能是必须的负载平衡粒度指负载分发(或迁移)基本单位的组合程度对于网络层的负载平衡,基本单位是IP数据报。一种可能的负载平衡粒

6、度是目标地址为同一个IP的所有数据报(如Linux服务器集群系统的目标地址散列调度算法)对于分布对象中间件而言,基本单位是对象请求。常见的两种负载平衡粒度是请求级与会话级。请求级(per-request)指每次对象调用时都作负载分发会话级(per-session)指的是仅在查找或首次调用一个对象时进行负载决策,而后针对该对象引用的所有请求都被发往同一个节点直观上,粒度越细,负载平衡效果越好,但用于负载平衡的开销也越大负载平衡算法 具体的负载平衡实施方法根据决策时是否使用运行时刻的信息(如各节点的负载状况、请求的类型或内容),负载平衡算法可以分为静态算法与动态算法两大类静态算法静态算法也称为非适

7、应性算法,不使用运行时刻的信息常用的静态算法有轮循、随机及加权轮循 算法(weighted round-robin)等几种其中轮循与随机算法适合于所有节点处理能力相当的情况,静态加权算法适合于节点处理能力不同的情况动态算法动态算法也称为适应性算法,参考运行时的系统信息做出负载平衡决策一般只有单点负载平衡才能使用动态算法常见的动态算法可分为两类一类算法仅使用系统的负载信息。典型的例子是最低负载法(least loaded),即每次负载决策都选当前负载最轻的节点另一类算法不仅考虑系统负载,还兼顾请求的内容以获得更好的总体性能,例如基于局部性的负载分发 理论上,动态算法能获得更好的负载平衡效果,特别

8、在负载不均匀的情况下实际效果则依赖于所选择的负载分发策略、负载度量以及运行时数据的获取特别的,对于动态负载平衡算法,选择合适的负载度量(load metric)十分重要常用的负载度量有单位时间的请求数、一段时间内CPU运行队列的平均长度、CPU利用率、可用内存数以及活跃连接数等等很多参数的设置会影响到动态算法的效果例如从各节点获取负载的频率以及确定节点是否过载的界限等 2、Web层的负载平衡 Web层负载平衡具有如下特点:1)单点负载平衡,既逻辑上只有一个负载 平衡点,物理上也只有一个负载平衡点2)请求级负载平衡,即每次客户请求都需要经由负载平衡器进行请求分发方案1: DNS轮循DNS轮循(D

9、NS Round Robin) 由DNS服务器维护域名与一组IP地址的映射,对于每一个域名解析请求,DNS服务器依次选择列表中的下一个IP地址返回由于用户直接访问的DNS服务器常常没有所需的DNS信息,而需将DNS请求转发给保存着该信息的DNS服务器,并且缓存返回的域名与IP地址的映射,实际效果可能并不理想。当一个新的服务节点加入时,DNS信息不能很快更新;而当服务节点崩溃时,DNS服务器也无法感知,这些都影响了负载平衡的效果方案2:服务器均衡负载服务器均衡负载(Server Load Balancing,简称SLB):整个系统对外而言只有一个IP地址(即均衡器的地址),所有请求都发往该地址,

10、由均衡器根据选定的负载平衡算法转发请求负载均衡器一般由交换机或路由器充当,请求转发与应答返回通过修改IP数据报中的源地址与目的地址来实现请求结果既可以经由均衡器返回客户,也可由服务节点直接返回客户SLB能迅速感知服务节点的加入与退出;检查节点的状态并将不可用的节点排除在外为避免单点失效,均衡器一般采用冗余配置方案3:Windows 2000 Server的负载均衡服务 没有单独的负载均衡器,而由位于各个服务节点上的负载平衡服务实现客户请求到节点地址的源地址散列由于各个节点上的负载平衡服务使用相同的映射规则,这种方案既达到了单点负载平衡的效果,又获得了比前两种方案更高的可用性具体做法:参与负载平

11、衡的所有节点组成一个集群,对客户而言只有一个IP地址位于网络驱动与TCP/IP协议实现之间的负载平衡服务将该IP地址映射为一个特定的MAC地址,从而集群内各个节点的数据链路层都会接收所有客户请求;对于来自同一个IP地址与端口的客户请求,各个节点的负载平衡服务都将其映射为同一个节点地址;此节点的负载平衡服务将请求向上交给TCP/IP协议栈处理,而其它节点则忽略该请求方案4:中间件层负载平衡由Web服务器实现对请求的负载平衡Apache/Tomcat提供了一种典型的负载平衡方案,即由一个Apache服务器处理静态页面,后面挂多个Tomcat服务器处理JSP/Servlet请求为保持会话语义,一般使

12、用“粘着会话”(sticky session)策略,即同一个客户的所有请求由同一个Tomcat服务器来处理负载平衡使用静态加权轮循算法,可以为不同的Tomcat服务器指定不同的权值Tomcat提供了会话状态复制的能力(基于JGroups提供的组通信服务),从而提高了系统的可用性3、EJB层的负载平衡很多情况下,Web容器与EJB容器位于同一个节点上,此时对于Web客户仅需要Web层负载平衡即可但是当Web容器与EJB容器分离时,特别对于独立客户而言,EJB负载平衡仍是必要的 一般仅使用静态负载平衡算法 三种粒度的平衡查找级(per-lookup) 向一个home对象以及该home对象创建的所有remote对象发出的请求都由一个固定的节点处理,仅支持同一个EJB的不同home对象及不同EJB的负载平衡会话级(per-session) 向home对象发出的不同请求可以负载平衡,而向remote对象发出的请求则始终由创建该对象的节点处理请求级(per-request) home与remote对象的请求都可以负载平衡。一般只有无态

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论