一、性能测试技能树

二、性能测试流程

三、性能测试相关术语

性能测试指标就是: 多(并发量)快(响应时间)好(稳定性【长时间运行】)省(资源使用率)、思考时间

1、负载

模拟业务操作对服务器造成压力的过程,比如模拟100个用户进行发帖

2、性能测试

模拟用户负载,系统在负载的情况下,查看响应时间、吞吐量及TPS是否满足性能要求

响应时间:客户感知的感应时间,是端到端的;响应时间的标准是2s(非常好)、5s(可以接受)、8s(上限)

并发用户数:性能测试要用多个jmeter

系统用户数:影响磁盘空间,对查询有影响,做系统性能测试时,要初始化环境【没有做初始化的性能环境等于没有作用】

自测:A--B,A到B背靠背网络链接,响应时间超快

A--应用服务在上海,B--数据存储在北京

运维:注入网络延时的方法

数据库:数据库dump

在线用户数:web-session,保持会话,保存到内存

初始化环境:warm up  热机,让磁盘调内存,让内存接近真实场景

3、负载测试

在一定的软硬件环境下,在满足性能指标情况下,不断加大负载,来看系统能够承受的最大用户数

4、压力/强度测试

系统在高负载的情况下,运行是否稳定,还要看各项指标

5、稳定性测试

满足性能要求的负载情况下,加大1.5到2倍的负载量进行测试,查看系统的各项性能指标是否稳定

四、JMeter运行原理

远程运行逻辑:

  • ​​​​​​​远程负载机首先启动Agent程序,待控制机连接;
  • 控制机连接上远程负载机;
  • 控制机发送指令(脚本及启动命令)启动线程;
  • 负载机运行脚本,回传状态(包括测试结果);

控制机收集结果并显示;

五、性能需求的主要采集内容

1、系统架构(物理架构与逻辑架构,包括中间件配置,数据库配置),在测试环境建立时需要参考

2、采集业务并量化业务:计算TPS及并发用户数时用到

3、了解业务扩展趋势,比如业务年增长率

4、了解业务是否有归档机制,一段时间将无用或者过期的数据移到归档库

5、采集业务发生时段,比如一天产生20000订单,高峰1小时就产生10000单,而不是平均1小时,对计算TPS与并发用户数有用

6、采集在线用户数、活动用户数、业务分布

7、系统是否与第三方有联系,测试时是否要做挡板

8、采集业务性能指标,TPS及吞吐量

9、采集系统硬件指标,CPU利用率、内存使用情况

六、系统硬件指标阀值

指标名称 阀值 指标说明
CPU使用率 <70% 过大会导致服务不稳定
内存利用率 <70% 同上
Disk Time <70% 过大导致IO等待时间变长,服务水平降低
网络带宽 <70% 过大导致网络阻塞,网络延时超长,响应时间变长

七、明确性能指标

1、吞吐量(PV、TPS)

2、响应时间

3、成功率

4、稳定波动正常范围

5、其他各项硬件性能指标

八、测试计划包括哪些内容

1、系统概述

2、测试环境

系统测试环境、系统生产环境、测试执行环境

3、需求分析

采集系统性能需求,确认性能测试需求范围

4、测试策略

5、测试场景

6、测试准备

环境准备、数据准备

7、测试计划

8、测试组织架构

9、交付物清单

性能测试计划、测试报告、测试脚本

10、系统风险

JMeter学习笔记--性能测试理论的更多相关文章

  1. JMeter学习笔记01-安装环境

    记录关于JMeter学习的内容.方便复习. 1)JMeter运行环境 因为JMeter是用纯java写的.所以运行的时候需要java的运行环境. 去java官网下载,点免费下载或所有Java下载都行, ...

  2. 爱了!阿里大神最佳总结“Flutter进阶学习笔记”,理论与实战

    前言 "小步快跑.快速迭代"的开发大环境下,"一套代码.多端运行"是很多开发团队的梦想,美团也一样.他们做了很多跨平台开发框架的尝试:React Native. ...

  3. JMeter 学习笔记从不懂慢慢提升(01)

    开源已经成为一个趋势,虽然说做测试是一个低端的行业,但是我们也应该在这个低端的行业慢慢提升自己,让自己到达理想的高度. 以前说如果你会使用loadrunner可能别人就会觉得你有一定的水平那么就会拿高 ...

  4. JMeter学习笔记(二) 一些实际应用的基础操作

    我在CSDN上面找到一位大师整理的jmeter性能测试基础,分享到这里继续学习 https://blog.csdn.net/u011541946/article/category/6893578/1

  5. JMeter学习笔记16-如何输出HTML格式的性能测试报告

    文本来学习下,如何输入HTML格式的JMeter测试报告.前面已经介绍, 如果要做性能测试,需要在GUI上设计好你的Test Plan,设置各种场景和负载值,包括多少个线程,多少个用户,循环多少次.设 ...

  6. Jmeter学习笔记ONE

    最近想学一些关于性能测试方面的知识,其实之前已经初步了解了Jmeter工具,它是一个轻量级的性能测试工具,开源并且免费,相比于Loadrunner来说用起来更简便. JMeter 可以用于对服务器.网 ...

  7. JMeter学习-030-JMeter性能测试常用之事务控制器实例

    通常进行性能测试时,我们一般仅考虑主要的数据返回,不考虑页面渲染所需要的数据(例如:css.js.图片等).但当我们需要衡量打开一个页面(页面渲染完成)的性能时,我们就需要考虑完成页面渲染所需要的图片 ...

  8. barabasilab-networkScience学习笔记2-图理论

    第一次接触复杂性科学是在一本叫think complexity的书上,Allen博士很好的讲述了数据结构与复杂性科学,barabasi是一个知名的复杂性网络科学家,barabasilab则是他所主导的 ...

  9. jmeter学习笔记--概述

    jmeter:概述 是什么? jmeter是Apache 公司使用java开发的一款测试工具 为什么? 高效.功能强大 模拟一些高并发或多次循环等特殊场景 怎么用? 1.下载jmeter,解压缩 2. ...

随机推荐

  1. 有哪些浏览器还支持flash?

    Flash是大名鼎鼎的全家桶公司Adobe设计的一款网页动画软件,早期的动态网页基本都是基于Flash开发的.但是后来不断爆出关于Flash的安全漏洞和运行效率问题,虽然Adobe公司一直在尝试解决, ...

  2. Java——this关键字总结

    一.this关键字的使用 1.当同类型的对象a和b,调用相同的方法method()时,为了区分该方法是被a调用还是被b调用 如下代码中,: class Banana { void method(int ...

  3. 题解 CF914G Sum the Fibonacci

    题目传送门 题目大意 给出\(n,s_{1,2,...,n}\),定义一个五元组\((a,b,c,d,e)\)合法当且仅当: \[1\le a,b,c,d,e\le n \] \[(s_a\vee s ...

  4. 洛谷4299首都(LCT维护动态重心+子树信息)

    这个题目很有意思 QWQ 根据题目描述,我们可以知道,首都就是所谓的树的重心,那么我们假设每颗树的重心都是\(root\)的话,对于每次询问,我们只需要\(findroot(x)\)就可以. 那么如何 ...

  5. 1002 写出这个数 (20 分) java解题

    读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10^100. 输出格式: 在一行内输 ...

  6. 2021.5.22 vj补题

    A - Marks CodeForces - 152A 题意:给出一个学生人数n,每个学生的m个学科成绩(成绩从1到9)没有空格排列给出.在每科中都有成绩最好的人或者并列,求出最好成绩的人数 思路:求 ...

  7. python中的load、loads实现反序列化

    load与loads 简介: 在python自动化中,我们传递一些参数是需要从文件中读取过来的,读取过来的字典并非python对象数据类型而是string类型. 这样在我们传递参数的时候就会出现格式不 ...

  8. Go语言核心36讲(Go语言进阶技术三)--学习笔记

    09 | 字典的操作和约束 至今为止,我们讲过的集合类的高级数据类型都属于针对单一元素的容器. 它们或用连续存储,或用互存指针的方式收纳元素,这里的每个元素都代表了一个从属某一类型的独立值. 我们今天 ...

  9. float 与 double 类型区别

    https://www.runoob.com/w3cnote/float-and-double-different.html float 单精度浮点数在机内占 4 个字节,用 32 位二进制描述. d ...

  10. Node.js CMS——基于 NestJS/NuxtJS 的完整开源项目

    这是一款轻量级的基于 Node.js 的开源 CMS,采用前后端分离开发模式,集成了 API.后台管理.WEB 展示三个完整项目.开箱即是一套完整的企业网站,适合企业.个人直接使用或二次开发. API ...