性能测试基础知识
1. 性能测试是什么
性能测试是指通过特定方式,对被测系统按照一定策略施加压力,获取系统响应时间、并发用户数、吞吐量、资源利用率等性能指标,以期保证生产系统的性能能够
满足用户需求的过程。
响应时间:响应时间指用户感受到的软件系统为其服务所耗费的时间。一般情况下,需要定义三种情况下的系统的响应时间,闲时响应时间、忙时响应时间、峰时响应时间
并发用户数:并发用户数指系统能够同时处理的用户请求的数目,也可以理解为同时向系统提交请求的用户数目。注册用户数指系统中全部注册用户的数量;在线用户数指在相同时间段内登录了系统,并在系统中进行操作的用户数量。
吞吐量:吞吐量指单位时间内系统处理的客户请求数量,体现系统的整体处理能力。系统吞吐量越大,说明系统性能越好。衡量吞吐量的常用指标内包括:RPS、PPS、PV、TPS、QPS
资源利用率:资源利用率是指系统在负载运行期间,数据库服务器、应用服务器、web服务器的CPU、内存、硬盘、外置存储,网络带宽的使用率。
据经验,低于20%的利用率为资源空闲,20%--60%的使用率为资源使用稳定,60%--80%
的使用率表示资源使用饱和,超过80%的资源使用率必须尽快进行资源调整与优化
2性能测试的范畴 软件性能的范畴较广,通常包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等。
3不同角色对软件性能的理解
1)从系统用户角度看软件性能 系统用户指实际使用系统功能的人员。系统用户看到的软件性能就是软件的响应时间,即当用户在软件中执行一个功能操作后,到软件把本次操作的结果完全展现给用户所消耗的时间。 系统响应时间的影响因素有:功能的粒度、客户端网络情况、服务器当前忙闲情况等。从系统用户角度看,软件响应时间越短,系统性能越好。
2)从系统运维人员角度看软件性能 系统运维人员指负责软件系统运行维护的工作人员。 运维人员在关注系统响应时间的同时,还需要关注系统的资源利用率、系统最大容量、系统访问量变化趋势、数据量增长幅度、系统扩展能力等,并在此基础上制定合理的系统维护计划,以保障系统能够为用户提供稳定可靠的持续服务。主要关注系统运行时服务器的状态,如CPU利用情况、内存使用情况等、系统是否能够实现扩展、系统支持多少用户访问、系统的稳定性,是否支持7*24小时的业务访问
3)开发人员视角来说,软件性能架构设计是否合理、 数据库设计是否合理、 代码是否存在性能方面的问题、 系统中是否有不合理的内存使用方式