- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
唉!很多东西,看似简单,实际上还是需要去深入学习理解。融汇贯穿
用户视角的软件性能
从用户的角度来说,软件性能就是软件对用户操作的响应时间。说得更明确一点,对用户来说,当用户单击一个按钮、发出一条指令或是在Web页面上单击一个链接,从用户单击开始到应用系统把本次操作的结果以用户能发觉的方式展示出来,这个过程所消耗的时间就是用户对软件性能的直观印象。图1.1以一个Web系统为例,说明了用户的这种印象。
图1.1Web系统的响应
必须要说明的是,用户所体会到的“响应时间”既有客观的成分,也有主观的成分。例如,用户执行了某个操作,该操作返回大量数据,从客观的角度来说,事务的结束应该是系统返回所有的数据,响应时间应该是从用户操作开始到所有数据返回完成的整个耗时;但从用户的主观感知来说,如果采用一种优化的数据呈现策略,当少局部数据返回之后就立刻将数据呈现在用户面前,那么用户感受到的响应时间就会远远小于实际的事务响应时间〔顺便说一下,这种技巧是在C/S结构的管理系统中开发人员常用的一种技巧〕。
表1-1给出了管理员关注的局部性能相关问题的列表。
表1-1管理员关注的局部性能相关问题
管理员关心的问题
软件性能描述
效劳器的资源使用状况合理吗
资源利用率
应用效劳器和数据库的资源使用状况合理吗
资源利用率
系统是否能够实现扩展
系统可扩展性
系统最多能支持多少用户的访问?系统最大的业务处理量是多少
系统容量
系统性能可能的瓶颈在哪里
系统可扩展性
更换哪些设备能够提高系统性能
系统可扩展性
系统能否支持7×24小时的业务访问
系统稳定性
响应时间是指系统对事件产生响应所需要的时间。
管理员已经知道,在并发用户数为100时,A业务的响应时间为8秒,那么此时的系统状态如何呢?
效劳器的CPU使用是不是已经到达了最大值?是否还有可用的内存?应用效劳器的状态如何?我们设置的JVM可用内存是否足够?数据库的状况如何?
是否还需要进行一些调整?这些问题普通的用户并不关心,因为这不在他们的体验范围之内;但对管理员来说,
要保证系统的稳定运行和持续的良好性能,就必须关心这些问题。
管理员还会想要知道系统具有多大的可扩展性,处理并发的能力如何;而且,管理员还会希望知道系统可能的最大容量是什么,
系统可能的性能瓶颈在哪里,通过更换哪些设备或是进行哪些扩展能够提高系统性能,了解这些情况,管理员才能根据系统的用户状况制定管理措施,
在系统出现方案之外的用户增长等紧急情况的时候能够立即制定相应措施,进行迅速的处理;
此外,管理员可能还会关心系统在长时间的运行中是否足够稳定,是否能够不间断地提供业务效劳等。
对于一个没有到达预期性能规划的应用,开发人员最想知道的是,这个糟糕的性能表现究竟是由于系统架构选择的不合理还是由于代码实现的问题引起?由于数据库设计的问题引起?抑或是由于系统的运行环境引发?
或者,对于一个即将发布到现场给用户使用的应用,开发人员可能会想要知道当大量用户访问这个系统时,系统会不会出现某些故障,例如,是否存在由于资源竞争引起的挂起?是否存在由于内存处理等问题引起的系统故障?
因此,对开发人员来说,单纯获知系统性能“好”或者“不好”的评价并没有太大的意义,他们更想知道的是“哪些地方是引起不好的性能表现的根源”或是“哪里可能存在故障发生的可能”。
表1-2给出了开发视角的软件性能关注内容。
表1-2开发人员关注的性能问题
开发人员关心的问题
问题所属层次
架构设计是否合理
系统架构
数据库设计是否存在问题
数据库设计
代码是否存在性能方面的问题
代码
系统中是否有不合理的内存使用方式
代码
系统中是否存在不合理的线程同步方式
设计与代码
系统中是否存在不合理的资源竞争
设计与代码
总结
以上我们描述了3个不同层面上的软件性能关注点,由此可见,不同的对象对软件系统性能的关注是有着显著的差异的。从工程管理的角度,以我们的系统干系人来分析,大局部用户对性能的理解属于“用户视角”,工程的维护人员或是用户方的工程经理一般会从“管理员视角”来看待软件性能的问题,而工程的创立者——开发人员〔包括设计人员〕自然就是从“开发视角”来关注软件性能了。
因此,对软件性能测试来说,在不同的层面上要求我们关注不同的内容:从直接体验的用户的角度来说,表现为软件系统对用户操作的响应时间;在系统或是管理员的关注层面,我们还需要从软件的性能表现分析系统的可扩展性、并发能力等指标;最后,从最贴近软件的创立者——开发人员的角度来说,还需要为软件性能问题进行定位,了解性能的制约因素和引起性能问题的关键原因。
1.2软件性能的几个主要术语
响应时间、并发用户数、吞吐量、性能计数器,在使用性能测试工具进行测试时,还会接触到“思考时间〔ThinkTime〕”的概念
(1)响应时
文档评论(0)