- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件性能与性能测试教程第1部分
中国软件评测中心陈兵
本系列教程对软件性能与性能测试这个主题进行了较为全面的介绍和分析。教
程分为三个部分:在第1部分,讲解了软件性能的基本知识,介绍了常用的软件性能指
标,在分析影响软件性能因素的同时,以实例清晰讲解了如何提高软件的性能及性能
的可扩展性等问题;在第2部分,首先给出了性能测试的基础知识,然后侧重于从性能
工程的角度提出开展性能测试工作的流程,和进行性能测试工作的策略,以及如何分
析性能测试数据;在第3部分,从开发的(而不是第3方测试角度,以实例为引导,一步
一步地分析讲解在开发环境下进行性能测试的策略、方法和手段(采用的工具。
本系列教程可以用作软件开发人员、软件测试人员、软件项目经理、软件质量
人员和需要了解软件性能测试的各级软件管理人员的工作参考手册,也可作为有志
于软件开发和软件性能测试领域人员的参考资料。...
在20世纪60年代,计算机资源还十分有限,效率是被关心的最重要问题。到了
70年代计算机迅速发展,程序员意识过分专注于性能会损害程序的可读性和维护
性。因而软件性能和代码调整受到的重视程度有所下降,随着80年代微型计算机的
革命,性能限制又把效率问题提出来。在整个90年代中它被人们关注的程度则逐渐
下降。21世纪初,移动电话和PDA等设备上嵌入式软件受到的内存限制,以及解释
型代码的执行时间过长,使效率再度成为了一个热点话题。
软件性能
什么是软件性能
1.什么是
系统的性能是个很大的概念,覆盖面非常广泛,对一个软件系统而言,包括执行效
率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等等。
一般来说,性能是一种指标,表明软件系统或构件对于其及时性要求的符合程度;
其次性能是软件产品的一种特性,可以用时间来进行度量。
通常,对于软件性能的关注是多个层面,用户关注软件性能,系统管理员关注软件
性能,软件开发人员也关注软件性能,那么这些不同的关注者所关注的“软件性能”的
具体内容是不是都完全相同呢?如过不同,那么不同点在哪里?下面我们从三个不同
的层面对软件性能做一个简要的介绍。
(1用户视角的软件性能
从用户角度来说,软件性能就是软件对用户操作的响应时间。
(2管理员视角的软件性能
从系统管理员的角度来看,所重点关注的软件系统性能是:系统的响应时间;系统
运行时服务器的状态,如CPU利用情况、内存使用情况等;系统是否能够实现扩展;
系统支持多少用户访问;系统性能可能的瓶颈在哪里;系统是否支持7*24小时的业
务访问等。
(3产品开发人员视角的软件性能
这也是本文的视角,即本文从开发人员的角度来讨论软件性能与性能测试。从
开发人员的角度来说,会关心主要的用户感受—响应时间,因为这毕竟是用户的直接
体验;另外,开发人员也会关心系统的扩展性等系统管理员所关心的内容,这里指的是
性能而不是功能的可扩展性,这个问题本文的后面讨论;但对开发人员来说,最想知道
的是“如何通过调整设计和代码等等方法来提高软件的性能表现”和“如何发现并解
决软件设计和开发过程中产生的由于多用户访问引起的缺陷”等等,参见表1。
表1给出了开发视角的软件性能关注内容。
开发人员关心的问题问题所属环节
架构设计是否合理?系统架构
数据库设计是否合理?数据库设计
代码是否存在性能方面的问题?代码
系统中是否有不合理的内存使用方式?代码
系统中是否存在不合理的线程同步方式?设计与代码
系统中是否存在不合理的资源竞争?设计与代码从表1 中可以看到, 问题所属的
关键环节是在代码构建上面。从开发人员的角度来看,可以用如下五个方面来作为
评判性能的标准:
1 运算的性能——哪一个算法的执行性能最好?
2 内存的分配——程序运行时需要耗费多少内存?
3 启动的时间——程序启动需要多长时间?这在Web 项目中的影响不大,但要注
意部分程序需要部署或运行在客户端时的情形( 比如Applet 程序。
4 程序的可伸缩性——在压力负载的情况下,程序的性能如何?
5 性能的感知——用户在什么情况下会觉得程序的性能不好?
以上五个方面,在具体的使用场景可以有选择的去评判。关于如何提高系统性
能的问题,我们在下节进行讨论。
2.如何提高程序的性能
要提高软件的性能,我们可以从以下几个方面着手,
使用高性能、速度快的硬件-- $$
文档评论(0)