JMeter学习笔记--性能测试理论

摘要:
一、性能测试技能树二、性能测试流程三、性能测试相关术语性能测试指标就是:多(并发量)快(响应时间)好(稳定性【长时间运行】)省(资源使用率)、思考时间1、负载模拟业务操作对服务器造成压力的过程,比如模拟100个用户进行发帖2、性能测试模拟用户负载,系统在负载的情况下,查看响应时间、吞吐量及TPS是否满足性能要求响应时间:客户感知的感应时间,是端到端的;响应时间的标准是2s(非常好)、5s(可以接受

一、性能测试技能树

JMeter学习笔记--性能测试理论第1张

二、性能测试流程

JMeter学习笔记--性能测试理论第2张

三、性能测试相关术语

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

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学习笔记--性能测试理论》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇React Native、Cordova开发必备的阿里源VUE项目中main.js、App.vue、import...from...等重要文件的作用和意义下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

转:Jmeter对Json格式数据的三种处理方式

1 { 2 : "code":"000000", 3 : "data": 4 : { 5 : : "pageCount":"1", 6 : : "prizeLists": 7 : : [ 8 : : : { 9 : : : : "cellphoneNum":"134****0...

jmeter环境搭建

1.JMeter 介绍      Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序)。它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等。JMeter可用于模拟大量负载来测试一台服务器,...

jmeter:BeanShell 预处理程序(引用java脚本,实现参数化)

这里以为本地的注册接口为例子: 如图:这个注册接口需要传2个参数,用户名和密码,用户名是唯一的,密码可以一样,需要对用户名进行参数化。 首先在jmeter里面添加BeanShell 预处理程序,如图: 这里需要编写java代码,对用户名实现参数化: 调试好以后,运行效果如图: 代码如下: package com.mg.java.study; imp...

Jmeter工具笔记-性能测试工具Jmeter4.0简单使用

此处使用Jmeter4.0 1)打开Template按钮,并选中Building a Web Test Plan项,最后单击Create按钮,创建完成: 2) 修改测试计划和线程组的名称,依据要求设置参数: 3) 在http请求页面修改名称以及设置参数,同时点击http项的‘+’按钮,展开响应断言,清空断言或者删除: 4) 删除目录树下的“Think...

Apdex(应用性能指标)

      性能指数Apdex(Application Performance Index)是一个国际通用标准,Apdex 是用户对应用性能满意度的量化值。它提供了一个统一的测量和报告用户体验的方法,把最终用户的体验和应用性能作为一个完整的指标进行统一度量。Apdex标准从用户的角度出发,将对应用响应时间的表现,转为用户对于应用性能的可量化范围为0-1的满...

jmeter 中的 Beanshell 使用

一、操作变量:通过使内置对象vars可以对变量进行存取操作     a) vars.get("name"):从jmeter中获得变量值     b) vars.put("key","value"):数据存到jmeter变量中 二、操作属性:通过使用Bean shell内置对象props 可以对属性进行存取操作     a) props.get("STAR...