- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
l性能测试和压力测试区别
性能测试? ? 性能测试的目的不是去找bugs,而是排除系统的瓶颈,以及为以后的回归测试建立一个基准。而性能测试的操作,实际上就是一个非常小心受控的测量分析过程。在理想的情况下,被测软件在这个时候已经是足够稳定了,所以这个过程得以顺利的进行。? ? 一组清晰已定义好的预期值是让一次有意义的性能测试的基本要素。如果连你自己都不知道系统性能有些什么是要测的,那么它对于你要测试的方法手段是没有指导意义的*。例如,给一个web应用做性能测试,你要知道至少两样东西:?? ? ? 在不同并发用户数或者HTTP连接数情况下的负载预期值*? ? ? ? 可接受的响应时间?? ? 当你知道你的目标后,你就可以开始使用对系统持续增加负载的方法来观察系统的瓶颈所在。重新拿web应用系统来做例子,这些瓶颈可存在于多个层次,你可以使用多种工具来查明它们的所在:?? ? ? 在应用层,开发人员可以通过profilers来发现低效率的代码,比如说较差的查找算法? ? ? ? 在数据库?层,开发人员和数据库管理员(DBA)可以通过特定的数据库profilers及事件探查器*(query optimizers)? ? ?? 在操作系统层,系统工程师可以使用一些工具如在Unix类的操作系统中的top,vmstat,iostat,在Windows系统中的PerfMon来监控CPU,内在,swap,磁盘I/O等硬件资源;专门的内核监控软件也可以在这一层面上被使用。?? ? ? 在网络层上,网络工程师可以使用报文探测器(如tcpdump),网络协议分析器(如ethereal),还有其它的工具(如netstat,MRTG,ntop,mii-tool)? ? 从测试的观点来看,上面所有描述的活动都是一种白盒的方法,它对系统从内到外及多角度进行审查及监控。测度数据*被取得及分析后,对系统的调整则成为理所当然的下一个步骤。? ? 然而,(除了上面的方法外)测试人员在给被测系统运行负载试验*(这里为了不与我们所理解的负载测试-load testing的概念搞混,特译做负载试验)的时候,也采取了黑盒的方法。像对于WEB应用来讲,测试人员可以使用工具来模拟并发用户或者HTTP连接及测量响应时间。在我以前使用过的轻量级的负载测试开源工具有ab,siege,httperf。一个更重量级的工具是OpenSTA,但我没用过。我也还没有用过The Grinder这个工具,但它在我将要做的事情中排名靠前。? ? 当负载试验*的结果显示出系统的性能来没有达到它的预期目标时,这就是要对应用和数据库的调整的时候了。同时你要确保让你的代码运行得尽可能高效,以及数据库在给定的操作系统和硬件配置的情况下最优化。测试驱动开发(TDD)的实践者会发现这种上下文结构框架是非常有用的*,如可以通过负载试验*及时间试验的函数性*来增强现存单元测试代码的Mike Clark的jUnitPerf*。当一个特定的函数或者方法被剖析过*和调试过后,开发人员就可以在jUnitPerf中,放入它的单元试验*来确保它可以达到负载及时间上的性能需求。Mike Clark称这为“持续性能测试”。我顺便也提一下我已经做了一个基于Python的jUnitPerf的初步研究,我称之为pyUnitPerf.? ? 假若在调试过应用程序及数据库后,系统还是没有达到性能的预期目标,在这种情况下,还是有一些其它的调试的流程*可以针对前面讲过的那几个层次来使用的。下面就是一些在应用程序代码*之外仍可以提高WEB应用系统性能的例子:?? ? ? 使用WEB缓存装制,如Squid提供的装置? ? ? ? 将高访问量的网页静态化,以避免这些高访问量对数据库进行大量的调用?? ?? ? 通过负载平衡的方法来水平缩放WEB服务器的结构*? ? ? ? 在水平缩放数据库群及将它们分为读写服务器和只读服务器后,还要对只读服务器群负载平衡。*? ? ? ? 通过增加更多的硬件资源(CPU,内存,磁盘等)纵向的缩放WEB及数据库服务器群? ? ? ? 增加网络的带宽?? ? 由于现在的WEB应用系统都是十分复杂的系统,性能调试有时要具有一些艺术性才行。在每次修改一个变量及重新测度的时候一定要非常小心,否则的话,在变化中将会有很多难于确定和重复的不确定因素*。? ? 在一个规范的测试环境比如说一个测试实验试,它是不会常常的重现实际应用时的服务器配置环境。在这样的情况下,分段测试环境,也就是生产实际环境的一个子集就可以派上用场了。但同时系统的期望性能也需要相应的调低一点。? ? “运行负载试验*-测度性能-调试系统”这个循环一直要被重复执行到被测试系统达到了期望的性能标准了才可以停。在这个时候,测试人员就可
您可能关注的文档
- l心理咨询师三级职业道德真题.doc
- I加快发展社区服务业提高社区居民生活品质.doc
- I加快地方环境 I2).doc
- I加快发展现代物流业促进全市经济社会又好又快发展.doc
- l心理健康与心理调适考试76分.doc
- I人教版化学必修2第三章09年.doc
- I加快地方环境.doc
- I加快实施知识管理.doc
- l心理咨询师三级案例问答题严重心理问题.doc
- I加快桐乡市产业集聚转型的思考和建议.docx
- 2025年河南省事业单位公开招聘联考工作的笔试备考题库附答案详解.docx
- 2025年河南省事业单位公开招聘联考工作的笔试高频难、易错点备考题库及完整答案详解1套.docx
- 2025年河南省事业单位公开招聘联考工作的笔试备考题库及参考答案详解1套.docx
- 2025年河南省事业单位公开招聘联考工作的笔试备考题库含答案详解.docx
- 2025年河南省事业单位公开招聘联考工作的笔试备考题库含答案详解.docx
- 2025年河南省中医院(河南中医药大学第二附属医院)博士研究生招聘61人笔试高频难、易错点备考题库及.docx
- 2025年河南省中医院(河南中医药大学第二附属医院)博士研究生招聘61人笔试高频难、易错点备考题库及.docx
- 2025年河南省中医院(河南中医药大学第二附属医院)博士研究生招聘61人笔试高频难、易错点备考题库参.docx
- 2025年河南省中医院(河南中医药大学第二附属医院)博士研究生招聘61人笔试备考题库附答案详解.docx
- 2025年河南省事业单位公开招聘联考工作的笔试备考题库参考答案详解.docx
文档评论(0)