第四章系统性能评价_第1页
第四章系统性能评价_第2页
第四章系统性能评价_第3页
第四章系统性能评价_第4页
第四章系统性能评价_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、第 4 章:系统性能评价作者:希赛教育软考学院来源:希赛网2014年04月18日性能指标第4章 系统性能评价系统性能是一个系统提供给用户的众多性能指标的混合体。它既包括硬件性能,也包括软件性能。随着计算机技术的不断发展,有关性能的描述也越来越细化,根据不同的应用需要产生了各种各样的性能指标,如整数运算性能、浮点运算性能、响应时间、网络带宽、稳定性、I/O吞吐量、SPEC-Int、SPEC-Fp、TPC、Gibson mix等。有了这些性能指标之后,如何来衡量这些性能指标呢?这就涉及到了性能计算。同时用户对性能需求的多样性和广泛性也更进一步加快了计算机技术的发展,并由此出现了一个新的分支:性能设

2、计。性能设计主要包含两方面的内容:一是作为未来计算机技术发展的参考和规划;另一个则是对现有系统进行性能上的调整以达到最优化。在系统性能指标的不断增多和完善过程中,许多公司和个人投身于系统性能的挖掘和实践中,并由此产生了一系列有效的系统性能评价体系。如前面提到SPEC,已经成为测试CPU的最权威的性能测试标准。本章将就系统性能的4个方面进行阐述:(1)性能指标:描述当前流行系统主要涉及到的性能指标;(2)性能计算:描述当前使用到的主要性能指标的计算方法;(3)性能设计:描述如何对现有系统进行性能上的调整优化,并介绍几个已经成熟的设计规则和解决方案;(4)性能评估:描述如何对当前取得的性能指标进行

3、评价和改进。4.1 性能指标在计算机刚刚诞生时,所谓的系统仅仅指的是计算机本身,随着网络的出现和发展,诸如路由器、交换机设备,TCP/IP、SPX/IPX、以太网、光纤网络等网络技术如雨后春笋般涌现。系统的概念也不再局限于单台计算机,而成为一个集各种通信设备于一体的集成装置。因此,这里所提到的性能指标,既包括软件,也包括硬件。在硬件中,既包括计算机,也包括各种通信交换设备、以及其他网络硬件;在软件中,既包括操作系统和各种通信协议,也包括各种参与到通信中应用程序,如数据库系统、Web服务器等。因此,本节要提到的系统性能指标实际上就是这些软硬件的性能指标的集成。版权方授权希赛网发布,侵权必究 上一

4、节 本书简介 下一节第 4 章:系统性能评价作者:希赛教育软考学院来源:希赛网2014年04月18日计算机4.1.1 计算机对计算机评价的主要性能指标如下:1时钟频率(主频)主频是计算机的主要性能指标之一,在很大程度上决定了计算机的运算速度。CPU的工作节拍是由主时钟来控制的,主时钟不断产生固定频率的时钟脉冲,这个主时钟的频率即是CPU的主频。主频越高,意味着CPU的工作节拍就越快,运算速度也就越快。一般用在一秒钟内处理器所能发出的脉冲数量来表示主频。随着半导体工艺的不断提升,时钟频率的计量单位已由原来的MHz逐步推进到以GHz来进行标识。从2000年IBM发布第一款双核心模块处理器开始,多核

5、心已经成为CPU发展的一个重要方向。原来单以时钟频率来计算性能指标已经不合适了,还得看单个CPU中的内核数。现在主流的服务器CPU大都为双核或四核,未来更可能发展到32核,96核甚至更多。2高速缓存高速缓存可以提高CPU的运行效率。目前一般采用两级高速缓存技术,有些使用三层。高速缓冲存储器均由静态RAM(Random Access Memory,随机存取存储器)组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。采用回写(WriteBack)结构的高速缓存。它对读和写操作均有可提供缓存。而采用写通(Write-through)结构的高速缓存,仅对读操作有效。

6、L2及L3高速缓存容量也会影响CPU的性能,原则是越大越好。3运算速度运算速度是计算机工作能力和生产效率的主要表征,它取决于给定时间内CPU所能处理的数据量和CPU的主频。其单位一般用MIPS(百万条指令/秒)和MFLOPS(百万次浮点运算/秒)。MIPS用于描述计算机的定点运算能力;MFLOPS则用来表示计算机的浮点运算能力。4运算精度即计算机处理信息时能直接处理的二进制数据的位数,位数越多,精度就越高。参与运算的数据的基本位数通常用基本字长来表示。PC(Personal Computer,个人计算机)机的字长,已由8088的准16位(运算用16位,I/O用8位)发展到现在的32位、64位。

7、大中型计算机一般为32位和64位。巨型机一般为64位。在单片机中,目前主要使用的是8位和16位字长。5内存的存储容量内存用来存储数据和程序,直接与CPU进行信息交换。内存的容量越大,可存储的数据和程序就越多,从而减少与磁盘信息交换的次数,使运行效率得到提高。存储容量一般用字节(Byte)数来度量。PC机的内存已由286机配置的1MB,发展到现在主流的1G以上。而在服务器领域中,一般的都在28G,多的如银行系统中省级结算中心使用的大型机,内存高达上百GB。内存容量的加大,对于运行大型软件十分必要,尤其是对于大型数据库应用。内存数据库的出现更是将内存的使用发挥到了极致。6存储器的存取周期内存完成一

8、次读(取)或写(存)操作所需的时间称为存储器的存取时间或者访问时间。而连续两次读(或写)所需的最短时间称为存储周期。存储周期越短,表示从内存存取信息的时间越短,系统的性能也就越高。目前内存的存取周期约为几到几十ns(10-9秒)。存储器的I/O的速度、主机I/O的速度,取决于I/O总线的设计。这对于慢速设备(例如键盘、打印机)关系不大,但对于高速设备则效果十分明显。例如对于当前的硬盘,它的外部传输率已可达100MBps、133MBps以上。7数据处理速率数据处理速率(Processing Data Rate,PDR)的计算公式是:PDRL/R。其中:L0.85G0.15H0.4J0.15K;R

9、0.85M0.09N0.06P其中:G是每条定点指令的位数M是平均定点加法时间 H是每条浮点指令的位数N是平均浮点加法时间 J是定点操作数的位数P是平均浮点乘法时间 K是浮点操作数的位数另外还规定:G20位,H30位;从主存取一条指令的时间等于取一个字的时间;指令和操作数都存放在同一个主存,无变址或间址操作;允许有先行或并行取指令功能,此时选用平均取指令时间。PDR主要用来度量CPU和主存储器的速度,它没有涉及到高速缓存和多功能等。因此,PDR不能度量机器的整体速度。8响应时间某一事件从发生到结束的这段时间。其含义将根据应用的不同而变化。响应时间既可以是原子的,也可以是由几个响应时间复合而成的

10、。在计算机技术的发展中,早在1968年,米勒先生即给出了3个经典的有关响应时间的建议: 0.1秒:用户感觉不到任何延迟。 1.0秒:用户愿意接受的系统立即响应的时间极限。即当执行一项任务的有效反馈时间在0.11秒之内时,用户是愿意接受的。超过此数据值,则意味着用户会感觉到有延迟,但只要不超过10秒,用户还是可以接受的。 10秒:用户保持注意力执行本次任务的极限,如果超过此数值时仍然得不到有效的反馈,客户会在等待计算机完成当前操作时转向其他的任务。9RASIS特性RASIS特性是可靠性(Reliability)、可用性(Availability)、可维护性(Serviceability)、完整性

11、(Integraity)和安全性(Security)五者的统称。可靠性是指计算机系统在规定的工作条件下和规定的工作时间内持续正确运行的概率。可靠性一般是用平均无故障时间(Mean Time To Failure,MTTF)或平均故障间隔时间(Mean Time Between Failure,MTBF)来衡量。可维护性是指系统发生故障后能尽快修复的能力,一般用平均故障修复时间(Mean Time To Repair,MTTR)来表示。取决于维护人员的技术水平和对系统的熟悉程度,同时和系统的可维护性也密切相关。有关这些特性的详细知识,将在16.5节介绍。10平均故障响应时间平均故障响应时间(TA

12、T)即从出现故障到该故障得到确认修复前的这段时间。该指标反应的是服务水平。平均故障响应时间越短,对用户系统的影响越小。11兼容性兼容性是指一个系统的硬件或软件与另一个系统或多种操作系统的硬件或软件的兼容能力,是指系统间某些方面具有的并存性,即两个系统之间存在一定程度的通用性。兼容是一个广泛的概念,它包括数据和文件的兼容、程序和语言级的兼容、系统程序的兼容、设备的兼容、以及向上兼容和向后兼容等。除了上述性能指标之外,还有其他性能指标,例如综合性能指标如吞吐率、利用率;定性指标如保密性、可扩充性;功能特性指标如文字处理能力、联机事务处理能力、I/O总线特性、网络特性等。版权方授权希赛网发布,侵权必

13、究 上一节 本书简介 下一节第 4 章:系统性能评价作者:希赛教育软考学院来源:希赛网2014年04月18日网络4.1.2 网络网络是一个是由多种设备组成的集合体。其性能指标也名目繁多。一般可以将这些性能指标分为下面几类:(1)设备级性能指标。网络设备提供的通信量的特征,是确定网络性能的一个重要因素。计算机网络设备(主要指路由器)的标准性能指标主要包括吞吐量(信道的最大吞吐量为信道容量)、延迟、丢包率和转发速度等。(2)网络级性能指标。可达性、网络系统的吞吐量、传输速率、信道利用率、信道容量、带宽利用率、丢包率、平均传输延迟、平均延迟抖动、延迟/吞吐量的关系、延迟抖动/吞吐量的关系、丢包率/吞

14、吐量的关系等。(3)应用级性能指标。QoS、网络对语言应用的支持程度、网络对视频应用的支持程度、延迟/服务质量的关系、丢包率/服务质量的关系、延迟抖动/服务质量的关系等。(4)用户级性能指标。计算机网络是一种长周期运行的系统。可靠性和可用性是长周期运行系统非常重要的服务性能,是决定系统是否有实际使用价值的重要参数。(5)吞吐量。在没有帧丢失的情况下,设备能够接受的最大速率。网络吞吐量可以帮助寻找网络路径中的瓶颈。例如,即使客户端和服务器都被分别连接到各自的100Mbps以太网上,但是如果这两个100Mbps以太网被10Mbps的以太网连接起来,那么10Mbps的以太网就是网络的瓶颈。网络吞吐量

15、非常依赖于当前的网络负载情况。因此,为了得到正确的网络吞吐量,最好在不同时间(一天中的不同时刻,或者一周中不同的天)分别进行测试,只有这样才能得到对网络吞吐量的全面认识。有些网络应用程序在开发过程的测试中能够正常运行,但是到实际的网络环境中却无法正常工作(由于没有足够的网络吞吐量)。这是因为测试只是在空闲的网络环境中,没有考虑到实际的网络环境中还存在着其他的各种网络流量。所以,网络吞吐量定义为剩余带宽是有实际意义的。版权方授权希赛网发布,侵权必究 上一节 本书简介 下一节第 4 章:系统性能评价作者:希赛教育软考学院来源:希赛网2014年04月18日操作系统4.1.3 操作系统现代操作系统的基

16、本功能是管理计算机系统的硬件、软件资源,这些管理工作分为处理机管理、存储器管理、设备管理、文件管理、作业和通信事务管理。操作系统的性能与计算机系统工作的优劣有着密切的联系。评价操作系统的性能指标一般有:(1)系统的可靠性。(2)系统的吞吐率(量),是指系统在单位时间内所处理的信息量,以每小时或每天所处理的各类作业的数量来度量。(3)系统响应时间,是指用户从提交作业到得到计算结果这段时间,又称周转时间;(4)系统资源利用率,指系统中各个部件、各种设备的使用程度。它用在给定时间内,某一设备实际使用时间所占的比例来度量。(5)可移植性。版权方授权希赛网发布,侵权必究 上一节 本书简介 下一节第 4

17、章:系统性能评价作者:希赛教育软考学院来源:希赛网2014年04月18日数据库管理系统4.1.4 数据库管理系统数据库为了保证存储在其中的数据的安全和一致,必须有一组软件来完成相应的管理任务,这组软件就是DBMS,DBMS随系统的不同而不同,但是一般来说,它应该包括以下几方面的内容:(1)数据库描述功能。定义数据库的全局逻辑结构,局部逻辑结构和其他各种数据库对象。(2)数据库管理功能。包括系统配置与管理,数据存取与更新管理,数据完整性管理和数据安全性管理。(3)数据库的查询和操纵功能。该功能包括数据库检索和修改。(4)数据库维护功能。包括数据引入引出管理,数据库结构维护,数据恢复功能和性能监测

18、。为了提高数据库系统的开发效率,现代数据库系统除了DBMS之外,还提供了各种支持应用开发的工具。因此,衡量数据库管理系统的主要性能指标包括数据库本身和管理系统两部分。数据库和数据库管理系统的性能指标包括数据库的大小、单个数据库文件的大小、数据库中表的数量、单个表的大小、表中允许的记录(行)数量、单个记录(行)的大小、表上所允许的索引数量、数据库所允许的索引数量、最大并发事务处理能力、负载均衡能力、最大连接数。版权方授权希赛网发布,侵权必究 上一节 本书简介 下一节第 4 章:系统性能评价作者:希赛教育软考学院来源:希赛网2014年04月18日Web服务器4.1.5 Web服务器Web服务器也称

19、为WWW服务器,主要功能是提供网上信息浏览服务。在UNIX和Linux平台下使用最广泛的HTTP服务器是W3C、NCSA和Apache服务器,而Windows平台使用IIS的Web服务器。跨平台的Web服务器有IBM WebSphere、BEA WebLogic、Tomcat等。在选择使用Web服务器应考虑的本身特性因素有性能、安全性、日志和统计、虚拟主机、代理服务器、缓冲服务和集成应用程序等。Web服务器的主要性能指标包括最大并发连接数、响应延迟、吞吐量(每秒处理的请求数)、成功请求数、失败请求数、每秒点击次数、每秒成功点击次数、每秒失败点击次数、尝试连接数、用户连接数等。版权方授权希赛网发

20、布,侵权必究 上一节 本书简介 下一节第 4 章:系统性能评价作者:希赛教育软考学院来源:希赛网2014年04月18日性能计算4.2 性能计算随着计算机系统复杂度的不断增长,性能指标也随着不断地增长,同时也增加了衡量计算机系统性能的难度。如何在众多指标中选取合适的性能指标,以及选择何种衡量方法都成为一项重要的课题。因此也衍生了各种性能评估体系。由于性能指标种类繁多,不可能一一列举,本节主要介绍一些常用性能指标的计算方法。在实际应用时,往往是对这些常用性能指标的复合计算,然后通过算法加权处理得到最终结果。性能指标计算的主要方法有:定义法、公式法、程序检测法、仪器检测法。定义法主要根据其定义直接获

21、取其理想数据,公式法则一般适用于根据基本定义所衍生出的复合性能指标的计算,而程序检测法和仪器检测法则是通过实际的测试来得到其实际值(由于测试的环境和条件不定,其结果也可能相差比较大)。有些性能指标,在不同的环境中,其名字相同,但计算方式和结果可能相差甚远,例如,吞吐量、带宽等,在计算机、路由器、交换机和网络中多处出现了有关吞吐量的定义,但其具体的含义不尽相同。1.MIPS的计算方法式中,Fz为处理机的工作主频,CPI(Cycles Per Instruction)为每条指令所需的平均时钟周期数,IPC为每个时钟周期平均执行的指令条数。例如,如果要计算Pentium IV/2.4E处理机的运算速

22、度,由于Pentium IV/2.4E处理机的IPC=2(或CPI=0.5),Fz=2400MHz,所以2.峰值计算衡量计算机性能的一个重要指标就是计算峰值或者浮点计算峰值,它是指计算机每秒钟能完成的浮点计算最大次数。包括理论浮点峰值和实测浮点峰值。理论浮点峰值是该计算机理论上能达到的每秒钟能完成浮点计算最大次数,它主要是由CPU的主频决定的。理论浮点峰值 = CPU主频CPU每个时钟周期执行浮点运算的次数系统中CPU数希赛教育专家提示:CPU每个时钟周期执行浮点运算的次数是由处理器中浮点运算单元的个数及每个浮点运算单元在每个时钟周期能处理几条浮点运算来决定的。3.等效指令速度静态指令使用频度

23、指的是在程序中直接统计的计算机速度。动态指令使用频度指的是在程序执行过程中统计的指令速度。在计算机发展的早期,用加法指令的运算速度来衡量计算机的速度。后来发展成为等效指令速度法或吉普森(Gibson)法,在这种方法中,通常加、减法指令占50%,乘法指令占15%,除法指令占5%,程序控制指令占15%,其他指令占15%.例如,我国最早研制的小型计算机DJS-130,定点16位,加法速度每秒50万次,但没有硬件乘法和除法等指令。用软件实现乘法和除法,速度降低100倍左右,则其等效指令速度为即每秒2万次,由于乘法和除法用软件实现,等效速度降低了25倍。又如,如果浮点开平方操作FPSQR的比例为2%,它

24、的CPI为100,其他浮点操作的比例为23%,它的CPI=4.0,其余指令的CPI=1.33,则该处理机的等效CPI为:如果FPSQR操作的CPI也为4.0,则其等效CPI为:由于改进了仅占2%的FPSQR操作的CPI,使等效速度提高了近一倍。版权方授权希赛网发布,侵权必究 上一节 本书简介 下一节第 4 章:系统性能评价作者:希赛教育软考学院来源:希赛网2014年04月18日性能设计4.3 性能设计本节主要讨论如何进行系统性能调整、负载均衡等方面的知识。版权方授权希赛网发布,侵权必究 上一节 本书简介 下一节第 4 章:系统性能评价作者:希赛教育软考学院来源:希赛网2014年04月18日系统

25、性能调整4.3.1 系统性能调整性能调整是与性能管理相关的主要活动。当性能降到最基本的水平时,性能调整由查找和消除瓶颈组成,瓶颈是在服务器中的某个硬件或软件接近其容量限制时发生和显示出来的情况。对于不同的系统,其调整参数也不尽相同。对于数据库系统,主要包括CPU/内存使用状况、优化数据库设计、优化数据库管理以及进程/线程状态、硬盘剩余空间、日志文件大小等;对于应用系统,主要包括应用系统的可用性、响应时间、并发用户数以及特定应用的系统资源占用等。在开始性能调整循环之前,必须做一些准备工作,为正在进行的性能调整活动建立框架。应该:(1)识别约束。站点的业务实例确定优先级,而优先级又设立边界。约束(

26、如可维护性和预算限制)在寻求更高的性能方面是不可改变的因素。必须将寻求性能提高的努力集中在不受约束的因素上。(2)指定负载。这涉及确定站点的客户端需要哪些服务,以及对这些服务的需求程度。用于指定负载的最常用度量标准是客户端数目、客户端思考时间以及负载分布状况。其中客户端思考时间是指客户端接收到答复到后面提交新请求之间的时间量,负载分布状况包括稳定或波动负载、平均负载和峰值负载。(3)设置性能目标。性能目标必须明确,包括识别用于调整的度量标准及其对应的基准值。总的系统吞吐量和响应时间是用于测量性能的两个常用度量标准。识别性能度量标准后,必须为每个度量标准建立可计量的基准值与合理的基准值。建立了性

27、能调整的边界和期望值后,可以开始调整循环,这是一系列重复的受控性能试验。1.调整循环重复图4-1所示的4个调整循环阶段,直到获得在开始调整过程前建立的性能目标。图4-1 调整循环2.收集收集阶段是任何调整操作的起点。在此阶段,只使用为系统特定部分选择的性能计数器集合来收集数据。这些计数器可用于网络、服务器或后端数据库。不论调整的是系统的哪一部分,都需要根据基准测量来比较性能的改变。需要建立系统空闲以及系统执行特定任务时的系统行为模式。因此,可以使用第一遍数据收集来建立系统行为值的基准集。基准建立在系统的行为令人满意时应该看到的典型计数器值。希赛教育专家提示:基准性能是一个主观的标准,必须设置适

28、合于工作环境且能最好地反映系统工作负荷和服务需求的基准。3.分析收集了调整选定系统部分所需的性能数据后,需要对这些数据进行分析以确定瓶颈。记住,性能数字仅具有指示性,它并不一定就可以确定实际的瓶颈在哪里,因为一个性能问题可能由多个原因所致。某个系统组件的问题是由另一系统组件的问题导致的,这种情况也很普遍。内存不足是这种情况的最好示例,它表现为磁盘和处理器使用的增加。以下几点来自Microsoft Windows 2000资源工具包,提供了解释计数器值和消除可能导致设置不适当的调整目标值的错误数据或误导数据的指南。(1)监视名称相同的进程。监视某个实例而没有监视另一个实例的异乎寻常大的值。有时,

29、系统监视器将多个实例的组合值报告为单个实例的值,这就错误地报告了同名进程的不同实例的数据。可通过按进程标志符对进程进行跟踪来解决此问题。(2)监视多个线程。当监视多个线程而其中一个线程停止时,一个线程的数据可能被报告成了另一个线程的数据。这是由于线程的编号方式所导致的。可通过将进程线程的线程标志符包含在日志或显示中来解决此问题。为此,请使用线程/线程ID计数器。(3)数据值中的不连续峰值。不必太重视数据中偶尔出现的峰值。这些峰值可能是由于进程的启动,并不是该进程随时间改变的计数器值的准确反映。尤其是平均计数器可以导致峰值随时间停留的效果。(4)监视一段延长的时期。建议使用图形代替报告或直方图,

30、因为后两种视图仅显示最后的值和平均值。结果,当查找峰值时,可能得不到这些值的准确反映。(5)排除启动事件。除非有特殊的原因需要将启动事件包含在数据中,否则排除这些事件,因为它们产生的临时性高峰值往往歪曲了整体性能结果。(6)零值或缺少的数据。调查所有出现的零值或缺少的数据。这些零值或缺少的数据会妨碍建立有意义的基准。4.配置收集了数据并完成结果分析后,可以确定系统的哪部分最适合进行配置更改,然后实现此更改。实现更改的最重要规则是:一次仅实现一个配置更改。看起来与单个组件相关的问题可能是由涉及多个组件的瓶颈导致的。因此,分别处理每个问题很重要。如果同时进行多个更改,将不可能准确地评定每次更改的影

31、响。5.测试实现了配置更改后,必须完成适当级别的测试,确定更改对调整的系统所产生的影响。在这一点上,这是确定更改是否有如下影响的问题:(1)性能提高。更改提高了性能吗?如果是,提高了多少?(2)性能下降。更改在其他位置导致了瓶颈吗?(3)对性能没有影响。更改对性能到底有何显著的影响?如果幸运,性能提高到预期的水平,这时便可以退出。如果不是这样,则必须重新逐步进行调整循环。测试时务必要检查用于测试的应用程序的正确性和性能,查找内存泄露和不正常的客户端请求响应延迟;确保所有测试都正常进行;确保可以使用相同的事务混合和相同的客户端生成相同的负载来重复所有测试;文档更改和结果。版权方授权希赛网发布,侵

32、权必究 上一节 本书简介 下一节第 4 章:系统性能评价作者:希赛教育软考学院来源:希赛网2014年04月18日阿姆达尔解决方案4.3.2 阿姆达尔解决方案阿姆达尔(Amdahl)定律是这样的:系统中对某部件采用某种更快执行方式,所获得的系统性能的改变程度,取决于这种方式被使用的频率,或所占总执行时间的比例。阿姆达尔定律定义了采用特定部件所取得的加速比。假定使用某种增强部件,计算机的性能就会得到提高,那么加速比就是下式所定义的比率:加速比反映了使用增强部件后完成一个任务比不使用增强部件完成同一任务加快了多少。阿姆达尔定律为计算某些情况下的加速比提供了一种便捷的方法。加速比主要取决于两个因素:(

33、1)在原有的计算机上,能被改进并增强的部分在总执行时间中所占的比例。这个值称之为增强比例,它永远小于等于1.(2)通过增强的执行方式所取得的改进,即如果整个程序使用了增强的执行方式,那么这个任务的执行速度会有多少提高,这个值是在原来条件下程序的执行时间与使用增强功能后程序的执行时间之比。原来的机器使用了增强功能后,执行时间等于未改进部分的执行时间加上改进部分的执行时间:版权方授权希赛网发布,侵权必究 上一节 本书简介 下一节第 4 章:系统性能评价作者:希赛教育软考学院来源:希赛网2014年04月18日负载均衡4.3.3 负载均衡负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器

34、都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀地分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。当用户发现Web站点负载量非常大时,应当考虑使用负载均衡技术来将负载平均分摊到多个内部服务器上。如果有多个服务器同时执行某一个任务时,这些服务器就构成一个集群(clustering)。使用集群技术可以用最少的投资获得接近于大型主机的性能。1.负载均衡技术的类型目前,比较常用的负载均衡技术主要有以下几种:(1)基于特定服务器软件的负载均衡。很多网络协议都支持重定向功能,例如,在HTTP协议中支持Location指

35、令,接收到这个指令的浏览器将自动重定向到Location指明的另一个URL上。由于发送Location指令比起执行服务请求,对Web服务器的负载要小的多,因此可以根据这个功能来设计一种负载均衡的服务器。当Web服务器认为自己负载较大的时候,它就不再直接发送回浏览器请求的网页,而是送回一个Location指令,让浏览器在服务器集群中的其他服务器上获得所需要的网页。在这种方式下,服务器本身必须支持这种功能,然而具体实现起来却有很多困难。例如,一台服务器如何能保证它重定向过的服务器是比较空闲的,并且不会再次发送Location指令?Location指令和浏览器都没有这方面的支持能力,这样很容易在浏览

36、器上形成一种死循环。因此这种方式实际应用当中并不多见,使用这种方式实现的服务器集群软件也较少。有些特定情况下可以使用CGI(包括使用FastCGI或mod_perl扩展来改善性能)来模拟这种方式去分担负载,而Web服务器仍然保持简洁、高效的特性。此时,避免Location循环的任务将由用户的CGI程序来承担。(2)基于DNS(Domain Name Server,域名服务器)的负载均衡。通过DNS服务中的随机名字解析来实现负载均衡,在DNS服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中一个地址。因此,对于同一个名字,不同的客户机会得到不同的地

37、址,它们也就访问不同地址上的Web服务器,从而达到负载均衡的目的。DNS负载均衡的优点是简单、易行,并且服务器可以位于互联网的任意位置上,当前使用在包括Yahoo在内的Web站点上。然而它也存在不少缺点,一个缺点是为了保证DNS数据及时更新,一般都要将DNS的刷新时间设置得较小,但太小就会造成太大的额外网络流量,并且更改了DNS数据之后也不能立即生效;第二点是DNS负载均衡无法得知服务器之间的差异,它不能做到为性能较好的服务器多分配请求,也不能了解到服务器的当前状态,甚至会出现客户请求集中在某一台服务器上的偶然情况。(3)反向代理负载均衡。使用代理服务器可以将请求转发给内部的Web服务器,使用

38、这种加速模式显然可以提升静态网页的访问速度。因此也可以考虑使用这种技术,让代理服务器将请求均匀地转发给多台内部Web服务器,从而达到负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web服务器,而这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。实现这个反向代理能力并不能算是一个特别复杂的任务,但是在负载均衡中要求特别高的效率,这样实现起来就不是十分简单的了。每针对一次代理,代理服务器就必须打开两个连接,一个为对外的连接,一个为对内的连接。因此,当连接请求数量非常大的时候,代理服务器的负载也就非常之大了,最后,反向代理服务器

39、会成为服务的瓶颈。例如,使用Apache的mod_rproxy模块来实现负载均衡功能时,提供的并发连接数量受Apache本身的并发连接数量的限制。一般来讲,可以使用它来对连接数量不是特别大,但每次连接都需要消耗大量处理资源的站点进行负载均衡,例如搜寻。使用反向代理的好处是,可以将负载均衡和代理服务器的高速缓存技术结合在一起,提供有益的性能,具备额外的安全性,外部客户不能直接访问真实的服务器。并且实现起来可以采用较好的负载均衡策略,将负载非常均衡地分给内部服务器,不会出现负载集中到某个服务器的偶然现象。(4)基于NAT(Network Address Translation,网络地址转换)的负载

40、均衡技术。网络地址转换指的是在内部地址和外部地址之间进行转换,以便具备内部地址的计算机能访问外部网络,而当外部网络中的计算机访问地址转换网关拥有的某一外部地址时,地址转换网关能将其转发到一个映射的内部地址上。因此如果地址转换网关能将每个连接均匀转换为不同的内部服务器地址,此后,外部网络中的计算机就各自与自己转换得到的地址上服务器进行通信,从而达到负载分担的目的。地址转换可以通过软件方式来实现,也可以通过硬件方式来实现。使用硬件方式进行操作一般称为交换,而当交换必须保存TCP连接信息的时候,这种针对OSI/RM网络层的操作就被称为第四层交换。支持负载均衡的网络地址转换为第四层交换机的一种重要功能

41、,由于它基于定制的硬件芯片,因此其性能非常优秀,很多交换机声称具备400MB800MB的第四层交换能力,然而也有一些资料表明,在如此快的速度下,大部分交换机就不再具备第四层交换能力了,而仅仅支持第三层甚至第二层交换。使用软件方式来实现基于网络地址转换的负载均衡则要实际得多,除了一些厂商提供的解决方法之外,更有效的方法是使用免费的自由软件来完成这项任务。其中包括Linux Virtual Server Project中的NAT实现方式。一般来讲,使用这种软件方式来实现地址转换,中心负载均衡器存在带宽限制,在100MBps的快速以太网条件下,能得到最高达80MBps的带宽,然而在实际应用中,可能只

42、有40MBps60MBps的可用带宽。(5)扩展的负载均衡技术。上面使用网络地址转换来实现负载分担,毫无疑问所有的网络连接都必须通过中心负载均衡器,那么如果负载特别大,以至于后台的服务器的数量不再在是几台、十几台,而是上百台甚至更多,这时,即便是使用性能优秀的硬件交换机也会遇到瓶颈。此时问题将转变为,如何将那么多台服务器分布到各个互联网的多个位置,分散网络负担。当然这可以通过综合使用DNS和NAT两种方法来实现,然而更好的方式是使用一种半中心的负载均衡方式。在这种半中心的负载均衡方式下,即当客户请求发送给负载均衡器的时候,中心负载均衡器将请求打包并发送给某个服务器,而服务器的回应请求不再返回给

43、中心负载均衡器,而是直接返回给客户,因此中心负载均衡器只负责接受并转发请求,其网络负担就较小了。2. 服务器负载均衡服务器负载均衡一般用于提高服务器的整体处理能力,并提高可靠性、可用性和可维护性,最终目的是加快服务器的响应速度,从而提高用户的体验度。负载均衡从结构上分为本地负载均衡(Local Server Load Balance)和全域负载均衡(Global Server Load Balance,全局负载均衡),前者是指对本地的服务器群作负载均衡,后者是指对分别放置在不同的地理位置、有不同的网络及服务器群之间作负载均衡。全域负载均衡有以下的特点:(1)解决网络拥塞问题,服务就近提供,实现

44、地理位置无关性;(2)对用户提供更好的访问质量;(3)提高服务器响应速度;(4)提高服务器及其他资源的利用效率;(5)避免了数据中心单点失效。版权方授权希赛网发布,侵权必究 上一节 本书简介 下一节第 4 章:系统性能评价作者:希赛教育软考学院来源:希赛网2014年04月18日性能评估4.4 性能评估性能评估是对一个系统进行各项检测,并形成一份直观的文档,因此性能评估是通过各项测试来完成的。评估的一个目的是为性能的优化提供参考,而性能优化涉及的面很广,也很复杂,而且永无止境。对于不同的应用程序,优化的方法会有一些区别。版权方授权希赛网发布,侵权必究 上一节 本书简介 下一节第 4 章:系统性能

45、评价作者:希赛教育软考学院来源:希赛网2014年04月18日基准测试程序4.4.1 基准测试程序把应用程序中用得最多、最频繁的那部分核心程序作为评价计算机性能的标准程序。称为基准测试程序(benchmark)。(1)整数测试程序:Dhrystone.用C语言编写,100条语句。包括:各种赋值语句,各种数据类型和数据区,各种控制语句,过程调用和参数传送,整数运算和逻辑操作。VAX-11/780z的测试结果为每秒1757个Dhrystones,即:1VAX MIPS=1757 Dhrystones/s(2)浮点测试程序:Linpack.用FORTRAN语言编写,主要是浮点加法和浮点乘法操作。用MF

46、LOPS(Million Floating Point Operations Per Second)表示GFLOPS、TFLOPS.(3)Whetstone基准测试程序。用FORTRAN语言编写的综合性测试程序,主要包括:浮点运算、整数算术运算、功能调用、数组变址、条件转移、超越函数。测试结果用Kwips表示。(4)SPEC基准测试程序。SPEC基准测试程序(System performance evaluation Cooperative,系统性能评估联盟)由30个左右世界知名计算机大厂商所支持的非盈利的合作组织,包括IBM、AT&T、BULL、Compaq、CDC、DG、DEC、Fujit

47、su、HP、Intel、MIPS、Motolola、SGI、SUN、Unisys等;SPEC能够全面反映机器的性能,具有很高的参考价值。SPEC以AX-11/780的测试结果作为基数,当前主要的基准测试程序有SPEC int_base_rate 2000、SPEC fp_base_rate 2000和SPEC JBB 2000等。还有基于某种数据库运行环境下的测试,也是可以参考的数值。在采用通用基准测试程序时,要注意真实的业务流程和使用环境与通用测试基准的业务流程和使用环境的异同,这样,基准测试值才有参考价值。(5)TPC基准程序。TPC(Transaction Processing Coun

48、cil,事务处理委员会)成立于1988年,已有40多个成员,用于评测计算机的事务处理、数据库处理、企业管理与决策支持等方面的性能。1989年以来相继发表的TPC基准测试程序包括TPC-A、TPC-B、TPC-C、TPC-D、TPC-H和TPC-W等。其中TPC-A用于在线联机事务处理下更新密集的数据库环境下的性能测试,TPC-B用于数据库系统及运行它的操作系统的核心性能测试,TPC-C则用于在线联机事务处理测试,TPC-D用于决策支持系统测试,TPC-H是基于TPC-D基础上决策支持基准测试,还有TPC-W是用于电子商务应用软件测试。TPC-C是衡量OLTP系统的工业标准。它测试广泛的数据库功

49、能,包括查询、更新和排队袖珍型批处理(mini-batch)事务。这一规范在关键领域十分严格,如数据库透明性和事务处理隔离性。许多IT专家把TPC-C作为真实世界OLTP系统性能的一个很好的指示器。独立审核员认证基准测试(benchmark)的结果,TPC还有全套的公开报告。(6)Linpack测试。Linpack是国际上最流行的用于测试高性能计算机系统浮点性能的测试。通过对高性能计算机采用高斯消元法求解一元N次稠密线性代数方程组的测试,评价高性能计算机的浮点性能。Linpack测试包括三类,Linpack100、Linpack1000和HPL.Linpack100求解规模为100阶的稠密线性

50、代数方程组,它只允许采用编译优化选项进行优化,不得更改代码,甚至代码中的注释也不得修改。Linpack1000要求求解1000阶的线性代数方程组,达到指定的精度要求,可以在不改变计算量的前提下做算法和代码上的优化。HPL即High Performance Linpack,也叫高度并行计算基准测试,它对数组大小N没有限制,求解问题的规模可以改变,除基本算法(计算量)不可改变外,可以采用其他任何优化方法。前两种测试运行规模较小,已不是很适合现代计算机的发展。HPL是针对现代并行计算机提出的测试方式。用户在不修改任意测试程序的基础上,可以调节问题规模的大小(矩阵大小)、使用CPU数目、使用各种优化方法等来执行该测试程序,以获取最佳的性能。HPL采用高斯消元法求解线性方程组。求解问题规模为N时,浮点运算次数为。因此,只要给出问题规模N,测得系统计算时间T,峰值=计算量()/计算时间T,测试结果以浮点运算每秒(Flops)给出。HPL测试结果是TOP500排名的重要依据。版权方授权希赛网发布,侵权必究 上一节 本书简介 下一节第 4 章:系统性能评价作者:希赛教育软考学院来源:希赛网2014年04月18日Web服务器的性能评估4.4.2 Web服务器的性能评估在Web服务器的测试中,能够反映其性能的主要包括

温馨提示

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

评论

0/150

提交评论