性能测试场景
概念:一定量的用户并发数向服务器发送请求,看性能指标
服务器接口性能测试一定是多用户并发,如果不是多用户,那就不是性能测试,如何实现多用户?
jmeter线程组中的线程数
ramp-up:启动所有线程数的总时间
ramp-up 为2 threads 为10: 在2秒种结束时,所有10个线程都启动好
ramp+threads 如何搭配使用
一台电脑,cpu的频率直接影响线程数量,一般而言,一台电脑jmeter能创建的线程数,大约在2000,保守在1-1.5(针对http而言)
threads<100,ramp-up设置为1秒
threads<200,ramp-up设置为2-3秒
200<threads<1000,ramp-up设置为3-5秒
ramp-up 在时间内,线程数只要启动就会发送请求
聚合报告中字段解释
样本:事务的总请求次数
平均值、中位数、 90%,95%,99%、最小值,最大值:这些都是响应时间(单位是毫秒)
90%,95%,99%在总的事务请求次数中,响应时间有90%的时候都是小于xx毫秒(这里以90%举例)
异常:
吞吐量:在没有网络瓶颈的时候,这个值等于tps值(下面两种情况吞吐量不等于tps的值)
如果有网络瓶颈,这个值就不相等了
在固定不变的并发用户数情况下,这个值,没有网络瓶颈时,是与tps相等,即用户并发数是变化的,就不能用吞吐量的值等价tps值
吞吐率:接收,发送(用来看网络是否有瓶颈)
单位时KB/s 贷款 Mb/s
1Mb/s = 1024Kb/s=(1024/8)KB/s=128KB/s,可以在聚合报告中查看接收的值来计算带宽
带宽与吞吐率之间关系计算出我们使用的带宽,与企业实际购买的带宽比对,就知道有没有网络瓶颈,计算的带宽约等于实际购买的带宽,网络 可能成为了瓶颈
聚合报告中每一行都是一个事务而不是接口
聚合报告什么时候查看才是有效的?需满足以下条件
1.没有网络瓶颈
2.并发用户数没有发生变化
插件管理:jpgc
勾选jpgc-standdard set — Apply changes and restart jmeter
普通性能场景
线程数一定要大于1
循环次数勾选永远,调度器配置才有效
负载测试场景
逐步增加用户的并发数,找到性能的拐点
如何逐步增加
压力测试场景
持续运行比较长时间,看服务器的稳定性
如何设计?
1.普通线程组:调度器持续运行时间设置比较长
2.阶梯线程组:hold load 时间设置比较长
面向目标场景
需求:有一个页面,看是否能支持1秒500人访问即500TPS,(类似抢消费券的场景),一般使用bzm-Arrivals Thread Group
500tps/秒 500 * 60秒 1分钟处理30000个请求
一般公司接口的tps范围在(50,200)
混合目标场景
波浪型场景