网站建设后期的测试和优化方法.docx
- 文档编号:24541311
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:64
- 大小:1.80MB
网站建设后期的测试和优化方法.docx
《网站建设后期的测试和优化方法.docx》由会员分享,可在线阅读,更多相关《网站建设后期的测试和优化方法.docx(64页珍藏版)》请在冰豆网上搜索。
网站建设后期的测试和优化方法
摘要
本文从现代网站建设及网络信息服务的实际情况出发,结合当前国内外网站建设、管理的成功经验,说明了在网站建设的后期,要对网站性能进行大量测试及优化的重要性和必要性,并运用先进的信息技术对网站建设后期的测试和优化方法进行了初步的实践研究。
本文首先叙述了计算机网络的产生和发展史以及我国网络发展概况和性能测试的相关概念;其次是介绍了测试软件工具和环境的搭建;还系统的介绍演示了对网站性能测试的全套过程(包括测试所用的软、硬件平台,网站性能参数的采集、分析)以及在试验测试完成后所总结的测试工具的特点;并在全文的最后给出了一些有效的网站性能优化的通用方法。
关键词:
网站性能;性能参数;测试;分析;优化
Abstract
Inthispaper,theconstructionofamodernsiteandnetworkinformationservices,theactualsituation,combinedwiththecurrentdomesticandinternationalWebsite-building,thesuccessofmanagementexperienceintheconstructionofthesitelater,toalargenumberofWebsiteperformancetestingandoptimizationoftheimportanceandnecessityofandtheuseofadvancedinformationtechnologyontheWebsitebuildingandoptimizationofthelattermethodoftestingapreliminarystudyofthepractice.
Thepaperdescribesthedevelopmentofcomputernetworkandthedevelopmentsituationofournetworkandtherelatedconceptsandperformancetesting,secondlyisintroducedtestingsoftwaretoolsandenvironmentconstruction,alsosystematicintroductionofpresentationofthecompletesetofwebsiteperformancetestingprocess(includingthetestusedbythesoftwareandhardwareplatform,websiteperformanceparametersofthecollection,analysis),andthefulltextofthefinalpaperinanumberofeffectiveWebsiteperformanceoptimizationofgeneralmethods.
Keywords:
SitePerformance;Performanceparameters;Test;Analysis;Optimization
1.绪论
1.1引言
计算机网络是计算机技术和通信技术紧密结合的产物,它的诞生使计算机体系结构发生了巨大变化,在当今社会经济中起着非常重要的作用,它对人类社会的进步做出了巨大贡献。
1.1.1计算机网络的产生和发展史
计算机网络近年来获得了飞速的发展。
20年前,很少有人接触过网络。
现在,计算机通信已成为我们社会结构的一个基本组成部分。
网络被用于工商业的各个方面,包括广告宣传、生产、销售、计划、报价和会计等。
后来,绝大多数公司拥有了多个网络。
从小学到研究生教育的各级学校都使用计算机网络为教师和学生提供全球范围的联网图书信息的即时检索和查寻等业务。
各级政府使用网络,各种军事单位同样如此。
简而言之,计算机网络已遍布全球各个领域。
计算机网络从20世纪60年代发展至今,己经形成从小型的办公局域网络到全球性的大型广域网的规模。
对现代人类的生产、经济、生活等各个方面都产生了巨大的影响。
计算机互连系统这个阶段的典型代表是:
1969年12月,由美国国防部(DOD)资助、国防部高级研究计划局(ARPA)主持研究建立的数据包交换计算机网络ARPANET。
ARPANET网络利用租用的通信线路连接美国加州大学洛杉机分校、加州大学圣巴巴拉分校、斯坦福大学和犹太大学四个结点的计算机连接起来,构成了专门完成主机之间通信任务的通信子网。
通过通信子网互连的主机负责运行用户程序,向用户提供资源共享服务,它们构成了资源子网。
该网络采用分组交换技术传送信息,这种技术能够保证如果这四所大学之间的某一条通信线路因某种原因被切断以后,信息仍能够通过其他线路在各主机之间传递。
也不会有人预测到时隔二十多年后,计算机网络在现代信息社会中扮演了如此重要的角色。
ARPANET网络已从最初的四个结点发展为横跨全世界一百多个国家和地区、挂接有几万个网络、几百万台计算机、几亿用户的因特网(Internet),也可以说Internet全球互联网络的前身就是ARPANET网络。
Internet是当前世界上最大的国际性计算机互联网络,而且还在不断地迅速发展之中。
纵观计算机网络的发展历史可以发现,它和其他事物的发展一样,也经历了从简单到复杂,从低级到高级的过程。
在这一过程中,计算机技术与通信技术紧密结合,相互促进,共同发展,最终产生了计算机网络。
总体看来,网络的发展可以分为四个阶段。
在计算机网各出现之前,信息的交换是通过磁盘进行相互传递资源的,如图1-1所示。
图1-1利用磁盘实现数据交换
在1946年,世界上第一台数字计算机问世,但当时计算机的数量非常少,且非常昂贵。
而通信线路和通信设备的价格相对便宜,当时很多人都很想去使用主机中的资源,共享主机资源和进行信息的采集及综合处理就显得特别重要了。
1954年,联机终端是一种主要的系统结构形式,这种以单主机互联系统为中心的互联系统,即主机面向终端系统诞生了。
如图1-2所示。
在这里终端用户通过终端机向主机发送一些数据运算处理请求,主机运算后又发给终端机,而且终端用户要存储数据时向主机里存储,终端机并不保存任何数据。
第一代网络并不是真正意义上的网络而是一个面向终端的互联通信系统。
当时的主机负责两方面的任务:
(1)负责终端用户的数据处理和存储
(2)负责主机与终端之间的通信过程
所谓终端就是不具有处理和存储能力的计算机。
随着终端用户对主机的资源需求量增加,主机的作用就改变了,原因是通信控制处理机(CommunicationControlProcessor,CCP)的产生,它的主要作用是完成全部的通信任务,让主机专门进行数据处理,以提高数据处理的效率,如图1-3所示
图1-2面向终端得单主机互联系统
图1-3利用通信控制器实现通信
当时主机主要作用是处理和存储终端用户发出对主机的数据请求,通信任务主要由通信控制器(CCP)来完成。
这样把通信任务分配给通信控制器这样主机的性能就会有很大的提高,集线器主要负责从终端到主机的数据集中收集及主机到终端的数据分发。
联机终端网络典型的范例是美国航空公司与IBM公司在20世纪60年代投入使用的飞机订票系统(SABRE-I),当时在全美广泛应用。
为了克服第一代计算机网络的缺点,提高网络的可靠性和可用性,人们开始研究将多台计算机相互连接的方法。
第二代网络是从20世纪60年代中期到70年代中期,随着计算机技术和通信技术的进步,己经形成了将多个单主机互联系统相互连接起来,以多处理机为中心的网络,并利用通信线路将多台主机连接起来,为终端用户提供服务。
如图1-4所示。
第二代网络是在计算机网络通信网的基础上通过完成计算机网络体系统结构和协议的研究,形成的计算机初期网络。
如,20世纪60至70年代初期由美国国防部高级研究计划局研制的ARPANET网络,它将计算机网络分为资源子网和通信子网,如图1-5所示。
所谓通信子网一般由通信设备、网络介质等物理设备所构成(如图1-4所示);而资源子网的主体为网络资源设备,如:
服务器、用户计算机(终端机或工作站)、网络存储系统、网络打印机、数据存储设备(外围的设备)等。
在现代的计算机网络中资源子网和通信子网也是必不可少的部分,通信子网为资源子网提供信息传输服务,而且资源子网上用户间的通信是建立在通信子网的基础上的。
没有通信子网,网络就不能工作,如果没有资源子网,通信子网的传输也就失去了意义,两都结合起来组成了统一的资源共享网络。
第二代网络应用的是网络分组交换技术进行对数据远距离传输。
分组交换是主机利用分组技术将数据分成多个报文,每个数据报自身携带足够多的地址信息,当报文通过节点时暂时存储并查看报文目标地址信息,运用路由算选择最佳目标传送路径将数据传送给远端的主机,从而完成数据转发。
20世纪80年代是计算机局域网络的发展的盛行的时期。
当时采用的是具有统一的网络体系结构并遵守国际标准的开放式和标准化的网络,它是网络发展的第三代阶段。
在第三代网络出现以前网络是无法实现不同厂家设备互连的,早期,各厂家为了霸占市场,各厂家采用自己独特的技术并开发了自己的网络体系结构,当时,IBM发布的SNA(SystemNetworkArchitecture,系统网络体系统结构)和DEC公司发布的DNA(DigitalNetworkArchitecture,数字网络体系统结构)。
不同的网络体系结构是无法互连的,所以不同厂家的设备无法达到互连,即使是同一家产品在不同时期也是无法
图1-4多主机互联系统
达到互连的,这样就阻碍了大范围网络的发展。
后来,为了实现网络大范围的发展和不同厂家设备的互连,1977年国际标准化组织ISO(InternationalOrganizationforStandardization,ISO)提出一个标准框架——OSI(OpenSystemInterconnection/ReferenceModel,开放系统互连参考模型)共七层。
1984年正式发布了OSI,使厂家设备、协议达到全网互连。
进入20世纪90年代后至今都是属于第四代计算机网络,第四代网络是随着数字通信出现和光纤的接入而产生的,其特点:
网络化、综合化、高速化及计算机协同能力。
同时,快速网络接入Internet的方式也不断地诞生如:
ISDN、ADSL、DDN、FDDI和ATM网络等。
1993年3月2日,中国科学院高能物理研究所租用AT&T公司的国际卫星信息接入美国斯坦福线性加速器中心(SLAC)的64K专线正式开通,标志着我国Internet的正式起步。
1994年5月21日:
完成了我国最高域名CN主服务器设置,实现了与Internet的TCP/IP连接。
至2004年6月,我国的网名总数已经道道8700万人,2005年4月底,我国的网民人数超过了1亿人,到2009年我国网民数更是增至近3亿人,超过美国成为世界第一网民大国,这说明了网络在公众中的普及性。
图1-5通信子网和资源子网
1.2网络发展现状概述
中国互联网络信息中心2009年1月1日消息,中国互联网络信息中心(CNNIC)在京发布《第23次中国互联网络发展状况统计报告》(以下简称《报告》)。
报告显示,截至2008年底,中国网民规模达到2.98亿人,较2007年增长41.9%,互联网普及率达到22.6%,略高于全球平均水平(21.9%)。
继2008年6月中国网民规模超过美国,成为全球第一之后,中国的互联网普及再次实现飞跃,赶上并超过了全球平均水平。
据工业和信息化部统计显示,截至2008年第3季度,我国互联网长途电路达到8,935,811个2M,比2007年末增长了近一倍(94%),全国光缆线路长度比2007年末新增61.8万公里,达到639.5万公里。
互联网宽带接入端口数达到10,372.1万个,其中xDSL端口数8,672.7万个,比2007年末增长了22%。
2008年我国电信网的通信能力快速提升,带动了我国宽带互联网的发展。
宽带的快速普及推动了各项网络应用的发展,但我国宽带上网的速度仍落后于世界上其他互联网发达国家。
调查显示,2008年下半年,90.6%的中国网民使用过宽带接入互联网,即2.7亿中国网民使用了宽带访问互联网,较2007年增长超过一个亿。
IP地址作为互联网中最基础的地址资源,是互联网发展的基石。
尤其是IPv4地址耗尽问题,引起了广泛关注。
IPv4的增长速度已经连续两年落后于中国网民的增长速度,人均IPv4地址数持续下滑。
作为访问互联网必须的基础资源,未来几年,中国IPv4地址的增速如果不能够获得更快速的发展或者过渡到IPv6,极有可能成为制约中国互联网发展发展的瓶颈因素。
根据全球IPv4地址近年的消耗状况,地址资源专家预测IPv4地址将会在2012年前后耗尽。
目前中国的互联网快速发展,IPv4地址尤其呈现出快速消耗的趋势。
在IPv6商用之前,IPv4地址仍旧是互联网赖以生存的根本。
在这种情况下,作为中国国家IP地址分配管理机构,中国互联网络信息中心(CNNIC)一直不断努力,积极为中国互联网企业争取更加充足的IP地址资源。
尽管IPv4资源较为紧缺,由于我国的互联网发展迅速,在各IP地址分配单位的努力下,我国的IPv4地址资源依然保持快速增长,2008年达到181.273.344个,较去年增长34%。
尽管IPv4地址保持较快的增长速度,但是依然赶不上我国网民的增速,加上服务器、路由器等其他互联网设备上的对IP地址的占用,IPv4地址在我国的紧缺局面非常严峻。
与IPv4相比,IPv6优势突出,地址资源不仅丰富,安全性能也大幅提高。
但目前IPv6地址在国内的利用率仍然较低,向IPv6过渡仍然在技术和商用方面存在一定问题。
中国目前已经针对这些问题开展了调研。
在推动IPv6进程方面,采取了一系列举措:
2004年12月,中国CN域名服务器的IPv6地址已经在全球域名根服务器中进行了注册;由中国工程院牵头、八部委联合实施“中国下一代互联网示范工程”(CNGI);CNNIC牵头积极地探索和制定相关的地址分配政策。
这些工作为中国IPv6网络的发展奠定了一定的基础,有利于实现中国互联网向IPv6网络的平滑过渡。
根据全球互联网IP地址资源分配机构的统计数据显示,截止到2008年6月,中国大陆共分得IPv6地址34块/32,排名世界第十七名。
报告称,截至2008年底,中国的域名总量达到16,826,198个,较2007年增长41%,依然保持快速增长之势。
作为互联网的基础地址资源,域名数量的高速增长保证了中国互联网的快速发展。
截至2008年底,中国网页总数超过160亿个,较2007年增长90%。
网页的增长速度与网站的增速基本一致。
2008年中国网络国际出口带宽达到640,286.67Mbps,较2007年增长73.6%,增速超过了网民增速,中国网民访问国外网站的速度有所提升,使用体验进一步优化。
中国国际出口带宽反映了中国与其他国家或地区互联网连接的能力。
在目前网民网络应用日趋丰富,各种视频应用快速发展的情况下,只有国际出口带宽持续增长,网民的互联网连接质量才会改善。
图1-6近5年中国网站数量变化柱状图
在互联网经济大潮推动下,2009年1月中国互联网络信息中心(CNNIC)在京发布了《第23次中国互联网络发展状况统计报告》。
报告显示,截至2008年底,中国的网站数,即域名注册者在中国境内的网站数(包括在境内接入和境外接入)达到287.8万个(如图1-6),较2007年增长91.4%,是2000年以来增长最快的一年。
其中CN下网站数占有绝对领先地位,较2007年有10个百分点的大幅度提升,而COM下网站较2007年则下降了9.2个百分点。
2007年中国的域名注册量大幅增长之后,经过一年的沉淀,域名增量在网站上的带动作用开始显现。
CN域名的这种快速发展根源于目前市场的蓬勃需
求,得益于中国互联网快速发展的大势,以及本身良好规范的注册管理和稳定的解析服务。
1.3性能测试的基本概念
随着互联网的蓬勃发展,软件得性能测试已经越来越受到软件开发商和用户得重视。
例如一个网站初始定营,随着用户逐步增长,软件的使用者可能会成几倍、几十倍甚至几百倍数量级的增长,如果不经过性能测试,通常软件系统都会崩溃掉,所以性能测试是非常重要的。
1.3.1性能测试的概念及其类型
软件性能测试是一个很大的概念,覆盖面非常广泛,对一个软件系统而言,包含执行效率、资源占用、系统稳定性,安全性、兼容性、可靠性。
可扩展性等。
性能测试是描述测试对象与性能相关的特性并对其进行评价而实施和执行的一类测试。
它主要通过自动化的测试工具模拟多种正常、峰值以及异常负载条件对系统的各项性能指标进行测试。
通常大家把负载测试、压力测试等统称为性能测试。
负载测试:
通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足系统的性能指标情况下,系统所能够承受的最大负载量。
简而言之,负载测试是通过逐步加压的方式来确定系统的处理能力,确定系统能够承受得各项阀值。
例如,逐步加压,从而得到“响应时间不超过10秒”,“服务器平均CPU利用率低于85%”等指标的阀值。
压力测试:
通过逐步增加刺痛负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并获得系统能提供得最大服务级别。
压力测试是逐步增加负载,使系统某些资源达到饱和甚至失效的测试。
其他性能测试分类为:
配置测试:
主要是通过对被测试软件的软硬件配置的测试,找到系统各项资源得最优分配原则。
并发测试:
测试多个用户同时访问同一个应用、同一个模板或者数据记录时是否存在死锁或者其他性能问题,几乎所有的性能测试都会涉及一些并发测试。
容量测试:
测试系统能够处理的最大会话能力,确定系统可处理同时在线的最大用户数,通常和数据库有关。
可靠性测试:
通过给系统加载一定的业务压力(如CPU资源在70%-90%的使用率)的情况下,运行一段时间,检查系统是否稳定。
因为运行时间较长,通常可以测试出系统是否有内存泄露等问题。
失败测试:
对于有冗余备份和负载均衡的系统,通过这样的测试来检验如果系统局部发生故障,用户是否能继续使用系统,用户受到多大的影响。
如几台机器做均衡负载,测试一台或几台机器垮掉后,系统能够承受的压力。
2.测试环境搭建
2.1测试运行环境
2.1.1硬件设备
本次试验所使用的台式电脑是:
华硕;CUP配置:
Intelcore2T7250(2.2GHz);内存:
1G/667MHz;硬盘转速:
120G/5400转/分;网络适配器:
BroadcomNetXtreme57xxGigabitController;网络环境:
电信网4M。
2.1.2软件环境
本次试验所使用得电脑操作系统:
windowsXPSP3;测试软件:
MercuryInteractive的LoadRunner8.1。
2.2LoadRunner简介
2.2.1LoadRunner简介
MercuryLoadRunner是一种预测系统行为和性能的负载测试工具。
通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。
通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。
难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢,系统崩溃等问题。
这些都不可避免地导致公司收益的损失。
HP-MercuryInteractive的LoadRunner能让企业保护自己的收入来源,无需购置额外硬件而最大限度地利用现有的IT资源,并确保终端用户在应用系统的各个环节中对其测试应用的质量,可靠性和可扩展性都有良好的评价。
LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。
LoadRunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。
此外,LoadRunner能支持广范的协议和技术,能提供特殊的解决方案。
2.2.2压力测试简介
当一个应用程序在少量用户同时使用的时候,程序可能正常运行,但是当大量用户同时使用的时候,可能就会出现功能失效、性能衰减、甚至系统崩溃。
所以我们压力测试做的就是测试在什么样的条件下系统的性能变得不可接受。
从广泛意义上讲性能测试包括:
压力测试、稳定性测试、负载能力测试和可扩展性测试等。
在不同应用系统的性能测试中,需要根据应用系统的特点和测试目的的不同来选择具体的测试方案,本次“淘才宝”核心业务系统的性能测试主要是采用通常的压力测试模式来执行的,即:
逐步增加压力,查看应用系统在各种压力状况小的性能表现。
在性能测试中,压力测试主要是为了获取系统在较大压力状况下的性能表现而设计并实现的,压力测试主要是获取系统的性能瓶颈和系统的最大吞吐率。
2.2.3性能测试与LoadRunner
Loadrunner无疑是一个强大有力的压力测试工具。
它的脚本可以录制生成,自动关联;测试场景可以面向指标,多方监控;测试结果图表显示,拆分组合。
然而,我们无论在loadrunner前面加多少个“强大”、“智能”的形容词,别忘了其最终修饰的只是一个名词-“工具”。
要做一个成功的性能测试,仅读懂和精通了loadrunner的使用手册是不够的,还需要对被测软件系统的方方面面都要有了解,比如软件体系构架,网络拓扑等知识。
1.首先性能测试也是测试的一种,这就意味着做性能测试也要写测试案例。
所作的性能测试能不能足以支持找出性能测试瓶颈,和在初期设计的测试案例关系甚为重要。
对于性能测试来讲,我个人认为,测试人员倒不一定非要有开发经验,但是应该有一个对软件体系结构有全面的了解。
大多数情况下,在做性能测试时,都不能顺利达到性能指标,可能server响应超时了,也可能是用户死掉了,在日志里抛出了一堆error,这种情形是非常常见,所以在在一开始设计性能测试方案时,就应该考虑为寻找性能瓶颈而设计测试案例。
这时就需要知道在整个软件系统中,有哪些节点,在哪些地方可能存在瓶颈,比如一个B/S系统就有IEclient→物理网络→webserver→appserver→DB这样的一个压力流串(如图2-1)。
每个节点的每个模块都有可能成为瓶颈。
瓶颈的产生可能由于模块配置引起,也可能由于模块本身引起。
这都需要我们设计测试案例来发现的。
一般地,常用的、比较方便的方法是,设计一组性能测试案例来验证一个节点是否存在瓶颈,这组case中尽量保持其他节点不变,来改变这个节点的配置,并监控此节点的各种指标。
图2-1压力流串
2.使用loadrunner的VU生成脚本。
脚本的生成方式就两种,一种是自写或嵌入源代码,一种是录制生成。
这两种方式中首选录制生成脚本,因为它简单且智能化。
但手写脚本要好一些,因为:
(1)可读性好,流程清晰,检查点截取含义明确。
业务级的代码读起来总比协议级的代码更易让人理解,也更容易维护,必要时可建立一个脚本库。
而录制生成的代码大多没有维护的价值,现炒现卖。
(2)手写的程序相比录制的脚本更能真实地模拟应用运行。
因为录制的脚本是截获了网络包,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网站 建设 后期 测试 优化 方法
![提示](https://static.bdocx.com/images/bang_tan.gif)