软件性能测试地总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章软件性能概述
1.1软件性能基础
1.1.1软件性能的概念
软件性能是与软件功能相对应的一种非常重要的非功能特性,表明了软件系统对时间及时性与资源经济性的要求。对于一个软件系统,运行时执行速度越快、占用系统存储资源及其他资源越少,则软件性能越好。
软件性能与软件功能是软件能力的不同体现,以一个人的工作能力来比喻,“功能”是某个人能够做的事情,“性能”指此人完成这件事情的效率。在功能相同的情况下,性能是衡量事情完成效果的一个重要因素。
1.1.2 不同角色对软件性能的理解
1)从系统用户角度看软件性能
系统用户指实际使用系统功能的人员。系统用户看到的软件性能就是软件的响应时间,即当用户在软件中执行一个功能操作后,到软件把本次操作的结果完全展现给用户所消耗的时间。
系统响应时间的影响因素有:功能的粒度、客户端网络情况、服务器当前忙闲情况等。从系统用户角度看,软件响应时间越短,系统性能越好。
2)从系统运维人员角度看软件性能
系统运维人员指负责软件系统运行维护的工作人员。
运维人员在关注系统响应时间的同时,还需要关注系统的资源利用率、系统最大容量、系统访问量变化趋势、数据量增长幅度、系统扩展能力等,并在此基础上制定合理的系统维护计划,以保障系统能够为用户提供稳定可靠的持续服务。
运维人员关注的性能问题:
运维人员关心的问题软件性能描述
应用服务器和数据库服务器的资源使用状况合理吗资源利用率
系统是否能够实现扩展系统可扩展性
系统最多能支持多少用户的访问系统容量
系统最大的业务处理量是多少系统容量
系统性能可能的瓶颈在哪里系统可扩展性
更换哪些设备能够提高系统性能系统可扩展性
系统能否支持7X24小时的业务访问系统稳定性
3)从系统开发人员角度看软件性能
系统开发人员指系统软件的设计和开发人员。
开发人员关注的性能问题:
开发人员关心的问题问题所属层次
数据库设计是否存在问题数据库设计
代码是否存在性能方面的问题代码
系统中是否有不合理的内存使用方式代码
系统中是否存在不合理的资源竞争设计与代码
1.1.3 软件性能的重要性
保障软件系统的性能具有十分重要的意义,具体体现在以下方面:
(1)系统性能越好,执行速度越快,用户使用系统的体验就越好
(2)系统性能越好,用户的等待时间越少,有利于提高软件操作效率。
(3)系统性能越好,处理能力越大,单位时间处理业务量越大。
(4)系统性能越好,在大量用户访问系统时系统稳定性越好,能够提供持续服务。
(5)系统性能扩展性越好,越容易提升系统的处理能力,以适应更多的访问需求。
能意味着重大的销售损失或用户流失,保持系统系统性能对于软件系统的运营企业具有非常重要性能的的意义,系统下降可良好的系能对于提高用户体验、提升站点声誉、提升客户忠诚度、增加系统收入等都具有重要作用。
1.2 常用性能指标
1.2.1 响应时间
响应时间指用户感受到的软件系统为其服务所耗费的时间。
一般情况下,需要定义三种情况下的系统的响应时间:
(1)闲时响应时间:指系统中访问用户数量较少的情况下,用户访问系统的响应时间,也可理解为在不受其他用户干扰的情况下,系统应该具有的性能表
现。
(2)忙时响应时间:指在系统处理正常访问用户量的情况下,用户访问系统的响应时间。该指标定义了系统在正常访问状态下应该具有的响应时间要求,体现了系统在正常访问状态下的性能表现。
(3)峰时响应时间:指在系统具有大量并发用户的情况下,用户访问系统的响应时间。该指标定义了系统在承载最大并发用户情况下应该具有的响应时间要求,体现了系统压力负荷最大情况下的性能表现,也可以理解为系统最大响应时间。
1.2.2 并发用户数
并发用户数指系统能够同时处理的用户请求的数目,也可以理解为同时向系统提交请求的用户数目。注册用户数指系统中全部注册用户的数量;在线用户数指在相同时间段内登录了系统,并在系统中进行操作的用户数量。
平均并发用户数:指在系统正常访问量情况下的并发用户数。
最大并发用户数:指在峰值访问情况下的并发用户数。
如何判断是否达到峰值访问情况:
(1)系统响应时间达到了峰值响应时间,即系统的响应时间已经达到了用户能够接收的上限。
(2)系统服务器资源利用率已经达到了上限,即服务器的CPU利用率、内存利用率等指标已经达到了需求规定的上限。
(3)系统请求成功率,即成功请求数/总请求数。当系统压力过大时,某些用户请求就会执行失败,如果失败率过高,就说明系统已经达到了处理能力的上
限,所以可以根据成功率来判断是否已经达到了最大并发用户数。
平均并发用户数仅反映了系统某个时刻的用户访问情况,并不反映系统的性能情况;而最大并发用户数反映了系统的处理能力,往往作为一项重要的性能指标在需求分析时进行定义。
1.2.3 吞吐量
吞吐量指单位时间内系统处理的客户请求数量,体现系统的整体处理能力。系统吞吐量越大,说明系统性能越好。衡量吞吐量的常用指标内包括:RPS:请求数/秒,描述系统每秒能够处理的最大请求数量。
PPS:页面数/秒,描述系统每秒能够现实的页面数量。
PV:页面数/天,描述系统每天总的Page View数量。
TPS:事务/秒,描述系统每秒能够处理的事务数量。
QPS:查询/秒,描述系统每秒能够处理的查询请求数量。
1.2.4 服务器性能计数器
服务器性能计数器指服务器或操作系统性能的一些数据指标,在性能测试中发挥着监控和分析的关键作用。常用的操作系统性能计数器包括System Load、进程与线程数、使用内存数、CPU使用率、磁盘I/O、网络I/O等。
资源利用率反映的是在一段时间内服务器资源平均被占用的情况,能够更加直观的反映系统当前的运行情况,例如CPU利用率如果达到80%,就说明当前CPU基本已经耗尽,系统处于满载状态。所以在进行性能需求分析时,往往通过资源利用率指标来定义服务器性能要求。