一、性能基础知识
二、各项性能测试概念
1.基准测试:
侠义:就是单用户测试(单用户循坏多次得到的数据)
广义:建立基准线,当系统的软硬件环境发生变化之后再进行一次基准测试以确定变化对性能的影响。
2.性能测试:
2.1负载测试:通过逐步增加系统负载,确定在满足系统的的性能指标(如响应时间)情况下,找出系统所能承受的最大负载量的测试。
2.2稳定性测试:在服务器稳定运行(用户正常的业务负载下)的情况下进行长时间(1天-1周等),并最终保证服务器能满足线上业务需求。
2.3压力测试:在强负载下的测试,查看系统在峰值情况下是否功能,系统是否具有良好的容错能力和可恢复能力。
2.3.1、极限负载情况下导致系统崩溃的破环性压力测试
2.3.2、高负载下的长时间的稳定性压力测试
3.并发测试:
定义:在极短的时间内,发送多个请求,来验证服务器对并发的处理能力。
三、各项性能指标概念
1.响应时间:指用户从客户端发起一个请求开始,到客户端接受到从服务器端返回的结果,整个过程所消耗的时间。(服务器处理时间+网络传输时间)
浏览器发送HTTP请求给服务器的网络传输时间
应用程序对HTTP请求的处理时间
应用服务器发送指令给数据库的网络传输时间
数据库中执行SQL语句的处理时间(增删改查)
数据库执行的结果返回给应用服务器的网络传输时间
应用程序对返回数据的处理时间
应用服务器将HTTP响应返回给浏览器的网络传输时间
2.并发(用户)数:某一时刻同时像服务器发送请求的用户数。
3.吞吐量:指单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力。(单位:每秒事务数TPS,每秒查询数QPS)
吞吐量-QPS 每秒查询数:即控制服务器每秒处理的指定(接口)请求的数量。
吞吐量-TPS每秒事务数:即控制服务器每秒处理的事务请求(一个或多个请求)的数量。
4.点击数:指客户端向服务器发送请求时,所有的页面资源元素(如图片,链接,框架css,js等)的请求总数。
5.错误率:指系统在负载情况下,失败业务的概率。错误率=(失败业务/业务总数)*100%
6.资源使用率:是指系统各种资源资源的使用情况,一般用“资源的使用量/总的资源可用量*100%”形成资源利用率的数据。通常要求:
cpu不高于75%-85%
内存不高于80%
磁盘IO不高于90%
网络不高于80%
四、测试举例
需求1:应用层并发测试
- 用户并发:100线程,每秒请求2次:rps=200/s
- 请求并发:1线程,每秒迭代200次:rps=200/s
需求2:梯度加压
- 一开始启动0个线程,然后每隔30秒,就在5秒内启动10个线程,当总数达到100个线程后,再持续运行60秒,结束时每1秒停止5个线程。