什么是软件的性能
软件的性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是在完成该功能时展示出来的及时性。 表明了软件系统对时间及时性及资源经济性的要求
软件性能常见度量指标
资源指标:CPU/GPU、IO、网络、内存
系统指标:响应时间、系统处理能力、并发用户数、其他
资源指标-资源使用率
反映的是被测系统在一段时间内资源平均被占用的情况,它描述了系统对硬件资源的消耗。如CPU使用率、内存使用量、磁盘IO字节数、网络流量等。在性能测试中资源使用率发挥着“监控和分析”的作用,尤其是在分析系统可扩展性、进行性能瓶颈定位时有着非常关键的作用。
系统指标-响应时间
响应时间即从应用系统发出请求开始,到客户端接收到(最后一个/第一个)字节数据为止所消耗的时间。响应时间按软件的特点再可以细分。如:对于一个 C/S 软件的响应时间可以细分为网络传输时间、应用服务器处理时间、数据库服务器处理时间。另外客户端自身也存在着解析时间、界面绘制呈现时间等
– 网络传输时间 = N1+N2+N3+N4
– 应用服务器处理时间 = A1+A3
– 数据库服务器处理时间 = A2
– 响应时间=N1+N2+N3+N4+A1+A2+A3+(C1+C2)
系统指标-系统处理能力
- 吞吐量:指一段时间内服务器返回给客户端的数据量的大小,用于衡量被测系统的负载能力。
- 吞吐率:指单位时间内服务器返回给客户端的数据量的大小用于衡量被测系统的处理能力,例: 字节数/秒、请求数/秒、页面数/秒、查询数/秒、事务数/秒 等,故吞吐率可以使用TPS表示。
- 吞吐量 = 吞吐率 * 单位时间(有些测试报告里给出的吞吐量就是吞吐率)
- TPS(Transaction Per Second):每秒事务数,指服务器在单位时间内(秒)可以处理的事务数量。
- 事务:指的是从端到端,一个完整的操作过程,比如一次登录、一次筛选条件查询,一次支付等。
- 系统用户数:指系统能够存储的用户(容量)。
- 在线用户数:某段时间内访问系统的用户数,这些用户并不一定同时向系统提交请求。
- 并发用户数:某一物理时刻同时向系统提交请求的用户数,提交的请求可能是同一个场景或功能,也可以是不同场景或功能。
- 严格并发用户数:指同一时刻都操作某个业务的用户数。
- 并发数计算方法:并发用户数 =用户总量/统计时间*影响因子。
- 并发用户数 = TPS *接口平均响应时间(单位为秒