1.什么是性能
用户角度:软件反应速度快慢。
开发角度:系统架构和数据的设计。
运维角度:系统最大的承载能力,以后能否扩容。
测试角度:用户角度、开发角度、运维角度综合考虑。
2.测试的时机
当用户数量达到一定程度的时候,介入性能测试或者做局部功能的性能测试(性能测试一般放在功能测试之后)。
3.性能测试的分类
根据需要,可以将性能测试分为并发测试、负载测试、压力测试、稳定性测试、基准测试、配置测试、失效恢复测试和现网性能测试。
4.性能测试指标
4.1并发用户数
多个用户对某个功能同时操作,多对一(单一场景)。
多个用户对多个功能同时操作,多对多(复合场景)。
4.2响应时间
从点击使用发送请求到服务器(开始)——返回到客户端(结束)的时间。
返回到客户端:1.网络传输时间 2.服务器的处理时间 3.客户端的呈现时间
4.3吞吐量
指在一次性能测试过程中网络上传数据的数据量和总数。发送数据量+接收数据量。
*并发用户数、响应时间、吞吐量3个指标指的是软件方面的性能。
并发用户数和相应时间的关系。
TPS:每秒钟系统能够处理事务和交易的数量。
TPS=并发用户数/响应时间
4.4资源利用率,针对服务器的硬件
指的是对不同使用资源的使用程度,通常以占用最大值的百分比衡量。
5.同一时间的用户数量
并发用户数量 在线用户数量 注册用户量(最大)
6.选择服务器所需要的配置
CPU:主要解释结算及指令以及处理计算机软件中的数据。
内存:与CPU沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存分为物理内存页面交换(Paging),SWAP内存(虚拟内存)。
网络:宽带
硬盘
中间件:常用的中间件例如Web服务器Tomcat,Weblogic web服务器,JVM(java虚拟机),ThreadPool线程池,JDBC数据驱动 IIS
数据库:MySQL
7.最佳并发用户数和最大并发用户数
最佳并发用户数≥系统平均负载
最大并发用户数≥系统峰值负载
要求一个原则:1.在系统日常运行过程中,保证系统状态稳定。
2.在峰值的时候,保证系统不会出错。
8.性能测试流程
来源:注意一个原则(28原则):80%的订单发生在每天20%的时间里。
8.1非功能性需求
1.客户要求的
2.根据以前的数据测试(近3个月)
3.借鉴同类型的项目
8.2性能需求提取加工
1.性能测试点——测试场景——用户使用频繁的业务——登录
2.性能测试点——测试场景——消耗的资源较大的业务——购物车
3.性能测试点——测试场景——绝对不能出错的业务——支付
8.3测试哪些数据
响应时间 TPS 并发用户数
9.系统架构分析
9.1应用服务器:存储处理业务的功能代码
数据库服务器:数据库MySQL
应用服务器和数据库服务器分开(资源竞争问题)
9.2本地缓存和分布式(多个服务器共同存储)缓存(减轻数据库读写压力)