再给我一分钟,让我学会性能测试好不?
性能测试的定义:多用户高并发访问服务器的性能。性能是响应时间和失败率。
一、性能测试的分类
1.压力测试(在负载测试已经完成之后):在服务器瓶颈状态下可以坚持多长时间,测试服务器超过最大容量的性能情况,一般是瞬时并发,测试服务器崩溃位置,压到崩溃为止。·
2.负载测试(强调开展性能测试一种手段):不断的给服务器施加压力,找到服务器的瓶颈(会出现内存泄露,溢出)查找最大容量–最高的并发用户数,货车最安全容量最大的情况。
3.并发测试:模拟多用户并发访问同一个应用、模块或者数据记录时是否存在死锁或者其他性能问题,使用性能测试手段来测试功能(订单超发,抽奖)。
4.强度测试/疲劳测试:长时间运行性能测试,324h最大容量80%
二、性能测试指标
一般使用jmeter的聚合报告查看指标
1.90line:90%的请求在这个时间点完成,统计大部分人响应时间。
2.平均响应时间(average):越小越好,统计所有请求的平均值,2-5-8原则
3.事务失败率error(事务等于一个或者多个请求,例如一个登录或者注册):就是错误率,越小越好,x<5%–最多100个人5个失败。
4.tps(性能优化衡量指标):每秒事务数/服务器每秒钟返回的请求数,直接反应服务器的性能状况,越大越好。
5.服务器的cpu使用率:服务器的繁忙程度,越小越好,越高表示越忙,不需要持续100% 85<x<90%,防止请求过高造成服务器崩溃。
(cpu是什么?cpu是中央处理器,计算机的大脑,任何软件想要运行,都要被cpu执行)
6.如何判断通过:平均响应时间/事务失败率/cpu使用率三个条件同时满足才算通过,有任何一个条件不满足就不通过。
7.最大容量:不断的去增加压力,直到不通过。
完整的性能测试调优:测试每一个系统的每一个组件,测试tomact、oracle、mango、redis