Jmeter- 笔记1 - 理论知识
为什么不用loadrunner,lonadrunner免费最大并发用户50,再往上就要买license了。
性能输出结果不是bug
假如调试脚本没有出错,但运行脚本时,可能前期没有问题,但到后期偶尔/持续出现报错,我们不会去定位其出错位置或分析原因,我们只会认定是服务器达到某个用户数时,处理能力达到极限。
当一个项目/某个接口从来没有做过性能测试,可以把第一次获取的指标值作为基准值。以后获取的性能指标可以对比基准值,判断服务器性能是变好还是变坏。(综合考虑)
性能指标:
1.响应时间(RT)
2.最大并发用户
3.每秒处理事务数(TPS)
4.资源利用率:CPU,内存,网络......
5.hps(每秒点击数hit per seconds)
6.tps
7.qps
8.并发:
狭义:同一时间做相同事情
广义:同一时间做不同事情,混合场景
9.并发数:单位时间内向服务器发起请求的用户数 virtual user。即Jmeter里的线程数
10.并发用户数:用于模拟真实用户向服务器发起请求的性能测试虚拟用户数量
系统用户数:只要访问过系统的用户,可能含一次性访问的用户(注册后不再访问也算系统用户数)
在线用户数:当前正访问系统的用户,不一定有压力(打开页面放着没有发起请求也算在线用户)
11.响应时间:从发起请求到收到请求响应的时间
网络传输时间 T1, T4
服务器处理时间 T2, T3
12.吞吐量\吞吐率 (事务/s kb/s)====== 衡量网络的重要指标
吞吐量:事务数
吞吐率:数据量
13.TPS(Transaction per second)====== 最主要的性能指标
服务器每秒通过事务数
服务器处理事务数
当网络没有瓶颈时,吞吐量的值=TPS值
14.资源利用率
资源(看综合使用率,而不是单独的):CPU、内存、磁盘、I/O(换入换出?网卡?)
负载测试:逐步增加并发用户数,发起请求,找到系统的拐点区间。
压力测试:通过一定并发用户数,持续比较长的时间请求,查看服务器的稳定性
查找最大并发用户数方法:先查找出现拐点的并发用户区间,在从区间放大并发数查找具体的最大并发用户数。举例从0个用户开始,每秒增加10个,当用户达到50-60时,性能指标出现拐点,则可以定位为最大并发用户区间在50-60之间,然后在50-60之间连续每次增加1个用户,查看在具体某个值时性能指标下降,该值则为最大并发用户数
在不知道最大并发用户数是多少时做压力测试(稳定性),需先用负载测试得到最大用户数,再去做压力测试。用小于或等于最大用户数做压力测试,不一定是用最大用户数来做。运行一次压力测试的时间要以小时为单位。
什么项目需要做性能测试?
1.外包项目 甲方要求
2.涉及生命财产安全
3.大型新系统(新换旧系统)
4.核心系统
5.架构调整
6.业务剧增(如电商)
7.重大缺陷修复
日均访问量 500w需要了解清楚这里的日均是以8小时算,还是24小时还是多少......
日均访问量 ÷ [时间(8小时?24小时)* 360]秒 = 服务器每秒接收的请求数
TPS=人数 * 每人每秒请求次数
性能测试的基本原则:
首先 单接口 再多接口
然后 多接口构成业务\模块
然后 多业务混合
然后 再系统
最后 全链路
性能测试的必备条件:
1.独立服务器 - 跟生产环境硬件资源相同、软件配置相同的服务器
生产环境不能用于性能测试。
2.独立网络 - 在同一个局域网
不能用无线网络
最新文章
- 从零自学Hadoop(18):Hive的CLI和JDBC
- Redis 外部访问设置
- ios如何在#import方面提升编译性能
- 由javascript中的this指针所想到的
- 【探秘ES6】系列专栏(一):ES6简介
- adb命令大全「含shell和wait-for-devices等」
- Ant学习---第五节:Ant_Junit介绍(基于3的版本)
- Android SystemUI源代码分析和修改
- 酷炫的方块状散点3D
- Javascript之学习笔记每日更新
- validators配置要点及No result defined for action报错解决方案
- SQLServer之索引简介
- web 压力测试工具
- 在Java中动态传参调用Python脚本
- Android之电话拨号和短信
- C#调用Delphi的dll之详解
- day 57 Bootstrap 第一天
- 人在囧途——Java程序猿学习Python
- 差分约束系统专题 &;&; 对差分约束系统的理解
- POJ 2253 Frogger【最短路变形/最小生成树的最大权/最小瓶颈树/A到B多条路径中的最小的最长边】