1、理解什么是性能测试?
性能测试是通过测试工具模拟用户并发对系统的各项性能指标进行测试,包含了负载测试与压力测试以及容量测试等,且持续运行一段时间;
主要关注两个方面:响应时间与及时处理能力
2、理解不同的角色对性能测试的关注点
管理层人员需要关注点:
1. 应用服务器,数据库服务器的资源利用率;
2. 系统的容量,可以支持多少用户正常使用系统;
3. 最大的并发用户数,遇到性能问题时,是否可更换硬件,提高性能,优化代码,优化SQL语句等(集群的方式扩展服务器);
4. 稳定性是否能支持7*24小时处理业务,稳定性最好应该遵守4个九原则(99.99%);
开发性能的关注点:
1. 系统架构方面:架构设计是否合理;
2. 数据库设计与代码逻辑是否合理;
3. 多线程处理;
测试人员上面的点都需要关注
3、理解什么是压力测试,什么是负载测试,并区分他们的区别
负载测试:给系统不断加压,直到响应时间/TPS达到了一个拐点,目的在于找到系统容量;
压力测试:负载一定的情况下,持续运行一定时间(验证系统的稳定性);
系统需要先进行负载测试然后进行压力测试,如果压力测试发现问题或者开发修改了代码只需要重新进行负载测试;
4、理解性能测试的常用术语
响应时间:发送一个请求到服务器,服务器将影响返回到客户端的这段时间
PS:从客户端发送请求开始,经过网络之后到达服务器,再到数据库服务器之后一步步返回到客户端这整个时间;
事务:事务由一系列请求组成,指从客户端到服务端,一个完整的操作过程,比如一次登录、一次筛选条件查询,一次支付等;
狭义并发:同一时间点做同一件事情(比如抢小米手机);
广义并发:多用户同时操作不同的功能(混合场景);
PS:一般性能测试需要先进行狭义并发再进行广义的并发
TPS:服务器每秒能够处理的事务数,衡量服务器处理能力;
吞吐量:在一次性能测试过程中网络上传输的数据量总和,吞吐量/传输时间,就是吞吐率(与TPS一个意思);
点击率:客户端每秒向服务端发送的HTTP请求;
PS:这里的点击不是指鼠标的一次“点击”操作,因为在一次“点击”操作中,客户端可能向服务器发出多个HTTP请求
资源利用率:对不同系统资源的使用程度,比如服务器的CPU利用率,内存利用率,队列以及网络的利用情况。资源利用率是分析系统性能指标的的只要依据,它是web性能测试工作的重点
PS:主要针对web服务器,操作系统,数据库服务器,网络等数据进行分析