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.独立网络 - 在同一个局域网
不能用无线网络
Jmeter- 笔记1 - 理论知识的更多相关文章
- [笔记]GBDT理论知识总结
一. GBDT的经典paper:<Greedy Function Approximation:A Gradient Boosting Machine> Abstract Function ...
- grunt学习笔记1 理论知识
你需要检查js语法错误,然后再去压缩js代码.如果这两步你都去手动操作,会耗费很多成本.Grunt就能让你省去这些手动操作的成本. “—save-dev”的意思是,在当前目录安装grunt的同时,顺便 ...
- 大数据学习笔记——HDFS理论知识之编辑日志与镜像文件
HDFS文件系统——编辑日志和镜像文件详细介绍 我们知道,启动Hadoop之后,在主节点下会产生Namenode,即名称节点进程,该节点的目录下会保存一份元数据,用来记录文件的索引,而在从节点上即Da ...
- Winsock网络编程笔记(4)----基本的理论知识
前面的笔记记录了Winsock的入门编程,领略了Winsock编程的乐趣..但这并不能算是掌握了Winsock,加深理论知识的理解才会让后续学习更加得心应手..因此,这篇笔记将记录一些有关Winsoc ...
- 线程概念( 线程的特点,进程与线程的关系, 线程和python理论知识,线程的创建)
参考博客: https://www.cnblogs.com/xiao987334176/p/9041318.html 线程概念的引入背景 进程 之前我们已经了解了操作系统中进程的概念,程序并不能单独运 ...
- python 全栈开发,Day41(线程概念,线程的特点,进程和线程的关系,线程和python 理论知识,线程的创建)
昨日内容回顾 队列 队列 : 先进先出.数据进程安全 队列实现方式: 管道 + 锁 生产者消费者模型 : 解决数据供需不平衡 管道 双向通信 数据进程不安全 EOFError: 管道是由操作系统进行引 ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_3-02CAP理论知识
笔记 2.分布式应用知识CAP理论知识 简介:讲解分布式核心知识CAP理论 CAP定理: 指的是在一个分布式系统中,Consistency(一致性). Availabi ...
- js中函数的一些理论知识
函数的一些理论知识 1. 函数: 执行一个明确的动作并提供一个返回值的独立代码块.同时函数也是javascript中的一级公民(就是函数和其它变量一样). 2.函数的 ...
- 用VC进行COM编程所必须掌握的理论知识
一.为什么要用COM 软件工程发展到今天,从一开始的结构化编程,到面向对象编程,再到现在的COM编程,目标只有一个,就是希望软件能象积方块一样是累起来的,是组装起来的,而不是一点点编出来的.结构化编程 ...
- 图形学理论知识 BRDF 双向反射分布函数(Bidirectional Reflectance Distribution Function)
图形学理论知识 BRDF 双向反射分布函数 Bidirectional Reflectance Distribution Function BRDF理论 BRDF表示的是双向反射分布函数(Bidire ...
随机推荐
- OO Unit3 总结
OO Unit3 总结 OO课Unit3人际关系网JML应用技术回顾 BUAA.1823.邓新宇 2020/5/23 梳理JML语言的理论基础.应用工具链情况 方法规格 JML中,同一个方法在不同的条 ...
- 自动AC机qwq(大雾)以及trie图fail图的一些结论
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<string&g ...
- C/C++ 构建系统,我用 xmake
XMake 是什么 XMake 是一个基于 Lua 的 现代化 C/C++ 构建系统. 它的语法简洁易上手,对新手友好,即使完全不会 lua 也能够快速入门,并且完全无任何依赖,轻量,跨平台. 同时, ...
- 动态地绑定到它的 is 特性,可以实现动态组件
前面的话 让多个组件使用同一个挂载点,并动态切换,这就是动态组件.本文将详细介绍Vue动态组件 概述 通过使用保留的 <component> 元素,动态地绑定到它的 is 特性,可以实现动 ...
- Laravel路由中不固定数量的参数如何实现?
前言 laravel是个好框架,我也在学习和使用,并且在公司里推广,最近在读 Laravel 源码的时候,发现了一个段特别有趣的代码,大家请看: ... 这三个点是做什么用的呢?我查了 PHP 的手册 ...
- hdu4081 最小树+DFS或者次小树的变形
题意: 给你一个全图,在里面找到一棵树,这棵树最多只有一条边可以不是最小树(也可以是), 要求 那对特殊的边的两个权值/除了这条边其他边的和最大. 思路: 方法有很多,最少有三种 ...
- POJ2553 强连通出度为0的应用
题意: 给你一个有向图,然后问你有多少个满足要求的点,要求是: 这个点能走到的所有点都能走回这个点,找到所有的这样的点,然后排序输出. 思路: 可以直接一遍强连通缩点,所点之后 ...
- IPC$共享和其他共享(C$、D$)
目录 net use共享命令的用法 IPC$ IPC空连接 ipc$使用的端口 关闭IPC$共享 net use共享命令的用法 net use #查看连接 net share ...
- 【实用小技巧】freemarker模板中文乱码问题解决
freemarker简单模板如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content- ...
- Day015 Error和Exception
Error和Exception 什么是异常 实际工作中,遇到的情况不可能是非常完美的.比如:你写的某个模块,用户输入不一定符合你的要求.你的程序要打开某个文件,这个文件可能不存在或者文件的格式不对,你 ...