![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Jmeter性能测试
文章平均质量分 78
Jmeter性能测试
七月的小尾巴
只要学不死,就往死里学!
展开
-
Linux环境下模拟延时和丢包实现--tc
前言在性能测试过程中,我们还需要模拟网络异常的情况下,是否会出现一些异常数据。最常见的就是写库操作,比如说我们下单的场景,如果出现网络异常的时候是否会出现数据对不上这种情况。如我们JMeter发送成功的请求数量和最终数据库表中存入下单的数据对不上,通常在网络异常的情况下会出现这种情况,因为通常很多框架都会存在重试的功能,比如APP在向服务端发送网络请求,那么在这个请求的过程中网络不稳定,一直没有得到响应,那么APP会重试,但是出现这种情况下,我们就需要考虑是否会出现重复下单,生成两笔订单的情况。通常我们原创 2021-08-24 13:35:26 · 972 阅读 · 0 评论 -
JMeter + Grafana + influxdb 性能监控平台搭建
平台架构由JMeter 异步写入数据到InfluxDB,然后InfluxDB存储数据,Grafana定时从InfluxDB读取数据,然后在将数据展示出来。由于同步写入对于性能的影响较大,所以JMeter支持异步写入,因此几乎对测试的性能几乎不大,不过在实际测试工作中,对性能会有一点点影响,如果不往InfluxDB写入数据的情况下,TPS会稍微高一些。部署流程安装InfluxDB1、上传 influxdb-1.7.9.x86_64.rpm 到 Linux 下任意目录2、执行如下命令安装yu原创 2021-08-24 00:13:42 · 727 阅读 · 0 评论 -
mysql存储过程实现同时多表写入,构造创建商品数据
前言通常在做性能测试的过程中,我们需要构造一下性能测试数据,有些可以通过调用API,直接构造数据,但是可能会存在一些场景,需要我们直接在数据库中插入数据,通常我们对于一些较为见到的场景,可以直接循环插入一张表中,但是如果我们遇到一些场景,比如创建商品,可能会设计到同时插入多张表,那么我们如何实现呢?数据库表设计下面我们以电商的项目为例,通过数据库实现插入商品数据,那么在创建商品数据之前,我们来了解一下表结构,我们可以看到三张表,分别是商品表、产品表和库存表,我们在创建商品的时候,需要分别在这三原创 2021-08-13 23:38:12 · 1834 阅读 · 0 评论 -
性能测试TPS指标到底多算才算合适呢?二八定律
前言通常我们在压测的时候,都会有一个指标去衡量,比如搜索商品接口,我们预期TPS需要达到多少。最理想的情况就是开发/产品/项目经理提前确定好了性能指标,但是通常大多数公司对于性能不是很理解,可能你问产品经理,产品经理说TPS是什么。那么这种情况下,我们就需要根据实际情况进行分析,确认性能指标。明确压测项目类型一般我们压测的项目会分为两类,一种是老项目,一个是新项目。像我们公司的项目已经上线运行了很长一段时间了,那么在生产环境中,会生成一些历史数据,并且线上也业务监控系统,定期监控各个业务模块核心接口原创 2021-08-12 15:48:14 · 15333 阅读 · 5 评论 -
解决 Connect to telnet server error: 127.0.0.1 3658 java.net.ConnectException: Connection refused问题
前言今天在安装 arthas 的时候,启动jar包时,抛了如下异常: Connect to telnet server error: 127.0.0.1 3658 java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.d原创 2021-08-11 20:14:24 · 8057 阅读 · 0 评论 -
Arthas性能监控
前言当我们在做线上压测时,有个问题就是很多工具在线上不方便用,如jprofiler,因为线上环境比较谨慎,也不太方面加一堆配置参数。那么这里我们推荐使用Arthas这个工具Arthas工具介绍Arthas是阿里巴巴开源的性能分析神器。Arthas能为你做什么事情呢?我们来看一下官网的介绍。官网地址: https://alibaba.github.io/arthas/index.html.当你遇到一下类似的问题而束手无策的时候,Arthas可以帮你解决:这个类从哪个jar包加载的?为什么会报各种各原创 2021-08-11 19:49:43 · 2172 阅读 · 0 评论 -
性能测试:数据库架构和SQL优化
前言有时候我们出去面试的时候,会被问到是否有做过架构方面的优化。如果没有准备突然被问到的话通常会有点懵。那么我们这里来整理一下系统架构优化相关的知识。其实一般架构优化主要就分为数据库架构,第二个就是应用程序架构。数据库架构优化读写分离,主从配置数据库架构优化,其实主要就是读写分离,主从配置。通常公司并发量比较大,或者用户比较大的情况下都会考虑读写分离。数据库支持主从同步,一台机器作为主,一台机器作为从。一旦做成主从就可以实现读写分离。一般读写分离通常是读的操作放在从机上,写的操作放在主机上,这原创 2021-08-09 23:44:35 · 319 阅读 · 0 评论 -
性能测试:数据库连接池问题分析
前言今天我们来压测一个支付的接口,10个并发,压测5分钟。下面我们可以看到tps大概在200多,响应时间在40ms左右。下面我们来看一下服务器的性能,应用服务器的cpu使用率大概在60%左右。再来看一下数据库服务器,数据库服务器的性能还算正常,cpu使用率大概在25%左右,而且我们支付的接口,还是在做一个写库的操作,下单的时候,会往订单表中插入数据。并且我们不断加压,新增并发,cpu仍然没有大概100%,tps也没有新增,响应时间整体越来越长。通常这种现象我们应该怎么排查呢?可以从下面两方面原创 2021-08-09 22:11:35 · 2051 阅读 · 3 评论 -
性能测试:数据库性能问题实战分析
接口压测分析现在我们来压测一个获取用户信息接口,这个接口会涉及到数据库的数据查询。我们的项目是部署正在应用服务器上面的,因此我们需要同时监控应用服务器和压力机。那么我们下面直接压测,来看一下它的性能情况。运行一段时间之后,我们可以看到这个接口的性能非常一般。tps只有40左右,并且响应时间高达200多。那么下面我们来看一下tomcat的这台服务器,cpu的使用率并不高,包括网络、磁盘IO等都没有什么问题。下面我们在来看一下数据库的服务器,可以看到cpu已经高达100%了。存在非常明显的性能问题。原创 2021-08-05 22:17:49 · 2172 阅读 · 2 评论 -
数据库慢查询监控配置
MySql慢查询方法介绍MySql 慢查询可以分析 MySql 语句查询性能问题的时候,可以再 MySql 记录中查询超过指标时间的语句,我们将超过指标时间的 SQL 语句称为 “慢查询”。MySql 自带的慢查询分析工具 mysqldumpslow 可以对慢查询日志进行分析;主要功能是统计sql的执行信息,其中包括:出现次数(count)执行最长时间(time)累计总耗费时间(Time)等待锁的时间(Lock)发送给客户端的行总数(Rows)扫描的行总数(Rows)开启mysql配置原创 2021-08-04 12:43:38 · 601 阅读 · 0 评论 -
Jprofiler 监控cpu过高或者响应时间过长
CPU消耗过高的问题在我们压测的过程中,可能会出现cpu消耗较高的情况(大于80%),那么通常出现cpu过高通常有两种情况:接口性能好,比如响应时间<10ms,tps很高,此时CPU使用率高是正常的,不需要优化接口性能不好,比如响应时间>200ms, tps很低,此时需要考虑优化下面我们来压测一个cpu消耗较高的接口:...原创 2021-08-03 21:03:13 · 1720 阅读 · 0 评论 -
多线程死锁、阻塞问题分析
死锁的定义线程死锁就是有两个线程,一个线程锁住了资源A,又想去锁定资源B,另外一个线程锁定了资源B,又想锁定资源A。两个线程都想去得到对方的资源,而不愿意释放自己的资源,从而造成一种相互等待,无法执行的情况。这么说可能有些抽象,我们拿个案例来解释一下。首先,我们在程序中为了数据的安全性会进行加锁。死锁的现象下面我们来压测一个有线程死锁现象的接口,通常情况下我们是不建议用GUI模式下运行,GUI模式进行压测的数据通常都不准确,但是这里为了方便观看并且GUI模式下可以复现这个问题。我们将这个接口配置原创 2021-08-01 23:53:50 · 3926 阅读 · 1 评论 -
JVM内存溢出原理及案例分析
前言再程序中,什么是内存溢出呢?什么情况下会出现内存溢出呢?内存溢出原理一般来说,程序中出现内存溢出是非常严重的,一但出现内存溢出,会导致程序无法正常运行。一般再程序中,内存溢出分为两种:一种是 堆内存溢出。,一种是永久代溢出。堆内存溢出:堆内存中存在大量的对象,这些对象都被引用,当所有对象占用空间达到堆内存的最大值,就会出现内存溢出 OutOfMemory:java heap space其实当内存满的时候,程序会触发GC,但是GC之后发现内存都被占用无法进行回收,导致无法腾出空间,内存空原创 2021-07-30 22:59:52 · 1670 阅读 · 0 评论 -
JVM内存结构和垃圾回收
Java内存管理机制Java 采用了自动管理内存的方式这一点有区别于我们的传统一些编写语言如c、c++,他们都是通过手动管理的方式来运行的。如果的过程中我们申请内存,就需要手动释放内存。否则可能会内存泄露。那么Java的内存会自动管理,这样就大大的降低了我们编程的难度。java程序是是运行在JVM之中的可以理解成,每一个java程序,每一个进程都会启动一个jvmjava的跨平台的基于jvm的跨平台特性内存的分配和对象的创建是在JVM中...原创 2021-07-29 00:18:50 · 712 阅读 · 5 评论 -
性能测试之Redis和Nginx 性能监控
redis 监控redis 监控一共有两种方式,一种是通过info命令,还有一种是使用redis-stat工具。两者其实本质是一样的,不过一个是命令行的模式下查看监控数据,而另外一种是图形化页面查看。但是实际上,我们性能测试主要更多的是关注性能测试指标本身。首先,我们来查看一下命令行模式。---- infoinfo命令展示了redis当前的一些实时状态。下方我们可以看到redis中返回的一些参数。在性能测试中,我们主要是关注以下这些参数。clientsconnected_clients:当原创 2021-07-26 22:25:33 · 3971 阅读 · 7 评论 -
性能测试:Java线程监控
Java线程的五种状态:新建:new运行:runable等待:waitting(无限期等待),timed waitting(期限等待)阻塞:blocked结束:terminatedJava线程监控 - Jvisulvm原创 2021-07-26 13:29:20 · 1365 阅读 · 1 评论 -
使用JvisualVM无法连接linux远程服务器,错误无法使用service:jmx:rmi:// /jndi/rmi://ip:port/jmxrmi
前言在监控java进程,使用JvisualVM连接远程服务器时,正常输入服务器的IP+端口,本来以为可以正常连接的,结果却提示错误无法使用service:jmx:rmi:// /jndi/rmi://ip:port/jmxrmi,工作这么长时间的小余已经见怪不怪,遇到问题先进行排查。排查问题首先,一开始看到这个提示,以为是自己再tomcat中添加JVM参数,给配置错了,于是乎,又打开检查了一遍。这里我检查配置是没有问题的,如果你的配置和我一样,那么可以看下一步。这里注意,如果你是第一次配置JV原创 2021-07-26 00:10:38 · 6104 阅读 · 10 评论 -
Linux集群监控部署: prometheus 普罗米修斯 + Grafana(超详细)
前言之前我们有用到top、free、iostat等等命令,去监控服务器的性能,但是这些命令,我们只针对单台服务器进行监控,通常我们线上都是一个集群的项目,难道我们需要每一台服务器都去敲命令监控吗?这样显然不是符合逻辑的,Linux中就提供了一个集群监控工具 – prometheus。...原创 2021-07-23 13:23:52 · 12402 阅读 · 9 评论 -
Linux SWAP交换分区应该设置多大?
前言在我们使用Linux命令查看内存空间的时候,会看到有swap数据,那么swap究竟是什么的?他起到什么作用呢?swap的作用我们在安装系统的时候已经建立了 swap 分区。swap 分区通常被称为交换分区,这是一块特殊的硬盘空间,即当实际内存不够用的时候,操作系统会从内存中取出一部分暂时不用的数据,放在交换分区中,从而为当前运行的程序腾出足够的内存空间。也就是说,当内存不够用时,我们使用 swap 分区来临时顶替。这种“拆东墙,补西墙”的方式应用于几乎所有的操作系统中。使用 swap 交换分原创 2021-07-21 18:40:39 · 14287 阅读 · 1 评论 -
Linux支持数据存储监控工具 - nmon
nmon介绍nmon 是 IBM 公司开发的 Linux 性能监控工具,可以实时展示系统性能情况,也可以将监控数据写入文件中,并使用 nmon 分析器做数据展示。nmon安装这里我直接在官网上面下载好,可以直接解压缩用。链接:https://pan.baidu.com/s/1KY-Dgchvv_j2ix1FhSQiVQ 密码:uayp下载解压之后,我们可以看到针对不用的操作系统使用的nmon,这里我的操作系统是centos 7,我们将这个版本上传到Linux服务器上方使用scp 将文件上传原创 2021-07-20 22:29:22 · 766 阅读 · 1 评论 -
Linux操作系统监控服务器CPU、内存、磁盘、网络和dstat
操作系统监控top命令内存监控 - free磁盘IO监控 - iostat磁盘空间监控 - df综合监控工具 - vmstat超级监控工具 - dstattop命令TOP命令是Linux下一个实时的、交互式的,对操作系统整体监控的命令,可以对CPU、内存、进程监控。是Linux下最常见的监控命令。通常使用top命令,我们主要关注一下这些数据:user:当前登录用户数load average:我们从上方图中可以看到,load average 中分别有三个值,这三个值分别表示在过去1分钟、5原创 2021-07-19 23:17:51 · 4856 阅读 · 8 评论 -
Linux集成环境部署 mysql + tomcat + redis
Linux集成环境部署 mysql + tomcat + redisMySQL安装和配置MySQL安装和配置MySQL是一个关系型数据库管理系统,由瑞典 Mysql AB公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一。安装系统:5.7版本将群文件中的mysql-community-5.7- Linux -rpm.zip文件上传到Linux下的/usr/local/src目录下(其他目录也可以)使用 scp命令将MySQL安装包上传到Linux环境原创 2021-07-14 23:22:08 · 921 阅读 · 1 评论 -
Linux启动mysql服务,Table ‘mysql.plugin‘ doesn‘t exist问题解决方案
mysql server无法正常启动问题排查在安装mysql的时候,踩了一个坑,启动mysql服务的时候,提示 Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.一开始在网上查找这个报错资料的时候,说是3306端口被占用,可以输入 ps -aux|原创 2021-07-14 22:41:20 · 3159 阅读 · 4 评论 -
JMeter 分布式压测原理及实战避坑指南
为什么要做分布式?之前我们讲过如何在Linux环境下,用单机进行压测,但是实际工作中,有时候我们需要用多台机器进行压测。那么什么情况下我们需要用多台机器进行压测呢?当我们一台机器不够的情况下,就需要用多台机器。那么怎么去鉴定机器到底够不够呢?这个主要看我们压力机的资源(主要判断在CPU,超过80%则表示不够用了)。如果说我们在LInux环境下运行JMter,运行的过程中,是会消耗我们服务器的资源,如cup、内存等。如果说我们机器资源不够了,那么测试出来的数据是不准的。如我们tps压不上去,很有可能就是服原创 2021-07-10 19:09:31 · 2112 阅读 · 1 评论 -
Linux 命令行单机压测全流程
安装环境首先,在 Linux操作系统中压测,我们需要安装 JMeter环境,具体安装教程,可以看我这的另外一篇博客。 《Linux环境搭建JMeter》.单机压测安装好之后,我们将脚本文件上传到Linux,输入 jmeter -n -t 文件名称 进行压测压测数据分析首先,我们看第三列的数据,每一行都是一串数字,这个数字则表示,在某个时间段我们的请求数,我们可以看到旁边有个 + 和 = 号,可以发现,第一列 1836 + 第 二列 12385 = 第三列的数据14221,由此我们不难发现他原创 2021-07-10 13:43:58 · 892 阅读 · 0 评论 -
Linux搭建JMeter环境(超级详情)
首先安装JDK官网地址:链接: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html.安装 Linux环境下的安装包下面大家会思考,我们如何将下载好的安装包放到 Linux操作系统中呢,这里推荐一个命令,rz。使用rz方法前,我们 输入 yum install -y lrzsz 命令进行安装安装成功之后,我们输入 rz命令,点击回车,会出现一个图形化界面,可以直接选择文件上传。下面我们可以看原创 2021-07-09 22:17:07 · 3517 阅读 · 2 评论 -
Jmeter - BeanShell常用内置变量及脚本开发
什么是BeanShell?BeanShell 是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法;BeanShell 是一种松散类型的脚本语言(这点和 JS类似)BeanShell 是用于 Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性,非常精简的解释器jar文件大写为175kBeanShell执行标准Java语句和表达式,另外包括一些脚本命令和语法。BeanShell内置变量BeanShell 脚本中不用定义,可以直原创 2021-07-08 00:16:48 · 876 阅读 · 1 评论 -
JMeter循环控制器的使用
if逻辑控制器假设我们在创建脚本的时候,有个场景是期望根据不同的服务器 ip 去压测不同环境的接口,如我们需要即测试 test环境,又测 online环境,只需要通过逻辑控制器去判断不同环境的区域即可。首先我们创建一个if循环控制器,点击「添加」–> 「逻辑控制器」–> 「如果(if)控制器」这里我们在if控制器中,写入条件表达式 ${__jexl3("${host}" == "localhost")}if控制器的表达式为 ${__jexl3(判断条件)}。 这里我们有一点需要注原创 2021-07-07 18:03:38 · 5547 阅读 · 1 评论 -
JMeter 线上压测如何预防服务器被打挂
通常我们在做线上压测的时候,会遇到一个问题,就是担心在线上压测的时候服务器被我们压挂掉,由于是线上服务器,挂掉之后再重启,会比较麻烦,因此 JMeter 提供了一个方法,常数吞吐量定时器。常数吞吐量定时器首先,我们来创建一个 常数吞吐量定时器,点击 「添加」–>「定时器」–>「Constant Throught Timer」我们先看一下,获取用户信息列表接口,在未设置定时器之前,他的 TPS 在 270左右,那么假设线上,我们线上压测某个接口他的 TPS 非常高,我们希望将它每秒的原创 2021-07-07 00:18:01 · 1242 阅读 · 0 评论 -
JMeter 进行 MD5加密
JMeter 函数助手 MD5 加密JMeter函数助手中,提供了MD5加密的方法,如图所示,我们将内容 “123456”进行加密,可以看到加密成功了。下面我们来看看项目接口的请求参数。这是一个认证接口,我们可以看到请求的参数中包含:用户手机号、渠道code、时间(以时间戳的形式传参)、sign加密。首先,phoneNum 我是从上一个用户列表的接口,通过正则表达式提取器,随机提取一个用户手机号码作为参数值时间戳,我们这边使用到了 JMeter 函数助手中提供的 ${__time(,)} 函原创 2021-07-06 10:36:08 · 4626 阅读 · 0 评论 -
Jmeter使用函数助手生成随机数,处理同一个随机数多处使用
JMeter生成随机函数如图,我们在函数助手中新增一个 Random 随机生成函数,这里我们设置的是随机生成 1- 1000的数字,点击下方的 Generate & Copy to clipboard,随机生成了一个292的数据,同时我们也复制了一段语法 ${__Random(1,1000,)}下面,我们以登录的接口为例, 我们在随机生成函数后方定义一个变量名称 UserName,如图然后我们在注册的用户名直接使用该变量, ${UserName}下面我们来看看,随机生成的数据,登录和注原创 2021-07-05 18:34:01 · 3188 阅读 · 0 评论 -
JMeter每个参数化的特点,你真的知道吗?
JMeter 函数助手参数化函数助手参数化,首先我们在开始之前的需要整理一份txt的文件,里面存放登录接口的请求参数。上方文件中,我们记录了用户名,和密码,下面我们找到JMeter中的函数助手,找到CSVRead,将txt的文件路径放进去用于获取值的CSV文件 | *别名:指的是文件路径CSV文件列号| next| *alias:指的是列名,如我们想要提取用户名,用户名在第一列,则输入0,下方图中我们可以看到,已经提取到用户名的数据配置完成之后,我们复制生成的字符串,作为请求的参数值下原创 2021-07-05 13:57:18 · 242 阅读 · 0 评论 -
JSONPath 解析 JSON 完整内容详解
前言最近在玩JMeter,总所周知,大家都知道我们在请求接口之后,都需要加断言去验证我们所请求的接口是否成功还是失败,于是JMeter提供了断言的方法。今天我们主要讲的就是JMeter中的 Json 断言。Json断言是基于Jsonpath实现的,于是乎小余就去了解了一下Jsonpath的相关用法,以下是小余整理出来的一下资料,希望可以帮助到大家~jsonpath的介绍JsonPath是一种简单的方法来提取给定JSON文档的部分内容。 JsonPath有许多编程语言,如Javascript,Pytho原创 2021-06-30 23:52:43 · 2211 阅读 · 1 评论 -
阿里P7大佬,告诉你性能指标中那些你不知道的事
前言在做性能测试的时候,我们关注了很多性能测试指标,但是这些指标,你真的懂了吗?事务在性能测试领域里,衡量一个系统性能的好坏,主要是看单位时间内,系统可以处理多少业务量,各个系统的业务不同,为了方便使用同一指标来衡量业务性能。用事务来代表业务操作,一个事务可以代表一个业务,也可以代表多个业务操作。事务是用户定义的,想测试什么业务的性能,就把业务加到事务中。TPS/QPSTransction Per Second 每秒处理的事务数性能测试指标-TPS如上图所示,我们测试 下单 业务,将下单接原创 2021-06-28 23:40:59 · 1308 阅读 · 1 评论 -
JMeter 集合点技术详解
集合点目的在性能测试过程中,我们通常会在线程组中设置并发用户数,但是在Jmeter的各个线程在进行业务操作的顺序会存在一定的随机性。那么集合点的目的主要是让各个线程步调一致,对系统进行加压,从而达到模拟真实并发访问的效果。创建集合点如图,我们在定时器中,添加 Synchronizing Timer 同步定时器同步定时器参数设置模拟用户的数量:每集合够多少线程后发送一次测试请求;如何设置为0,等同于设置为线程组中的线程数;确保设置的值不大于它所在线程组包含的线程数,否则一直集结线程而不原创 2021-06-18 00:17:57 · 5800 阅读 · 3 评论 -
Jmeter基础篇:配置元件详解
Jmeter基础篇:配置元件详解FTP请求默认值HTTP Authorization MangerHTTP Request DefaultsJava Request DefaultsRandom VaribleCounterLogin Config Element定时器FTP请求默认值Jmeter 支持对 FTP协议的程序进行性能测试,当多个 FTP 程序的场景具有相同的配置时,我们可以把这些相同点提取出来,只需要配置一次,这就是 FTP 请求默认值元件做的事情。类似我们程序开发中常说的抽象、封装。下面原创 2021-05-24 22:39:51 · 982 阅读 · 0 评论 -
JMeter性能测试之负载与监听实战
场景设置JMeter 线程组实际上建立了一个线程池,JMeter 根据用户的设置进行线程池初始化,在运行时做各种运行逻辑处理。如途中所示,我们先看看线程组中的参数说明:名称:可以随意配置,最好有业务意义。注释:可以随意配置,可以为空。在取样器错误后要执行的动作:也就是其中的某一个请求出错后的异常处理方式。(1)继续:请求(Smapler元件模拟的用户请求)出错后继续运行。我们在大量用户并发时,服务器偶尔错误是正常现象,比如服务器由于性能问题不能正常响应或者响应慢,此时出错我们正要记原创 2021-05-09 15:10:21 · 990 阅读 · 4 评论 -
浅谈 JMeter 运行原理
接触过 LoadRunner 的朋友应该都知道,LoadRunner 可以选择是以进程方式还是线程方式运行的 。在 JMeter中我们是以线程的方式来运行,由于 JMeter 是运行在 JVM 虚拟机上的,每个进程数量就会不允许太多,当我们要大量并发时就需要大量的负载机,这显然是不经济的,再者 JAVA 也支持多线程,所以 JMeter 选择了以线程的方式来运行。JMeter 通过线程组来驱动多个线程 (类似 LoadRunner 中的虚拟用户)运行测试脚本对被测服务器发起负载,每一个负载机上都原创 2021-04-29 23:52:58 · 465 阅读 · 0 评论 -
JMeter性能测试工作中遇到的问题及剖析,你遇到了几个?
常见性能测试剖析1、系统资源问题CPU/内存/磁盘/网络...2、语言/代码:JVM/PHP-fpm ...etc3、框架问题:Sprint Boot /百度RPC...服务单点性能问题1、CPU负载2、内存泄漏3、磁盘IO4、网络IO5、JAVA Full GC6、TCP连接数7、工作线程打满.....案例1:某次压力测试,服务端CPU飙升打满,CPU计算型TOP -H -p pidPstack pidTrace -p pid代码逻辑问题:同步解析接原创 2021-04-28 23:17:04 · 3390 阅读 · 0 评论 -
JMeter性能测试之相关术语及性能测试通过标准
性能测试相关术语1、 负载:模拟业务操作对服务器造成压力的过程。比如模拟100个用户进行发帖2、 性能测试:模拟用户负载来测试系统在负载情况下系统的响应时间、吞吐量等指标是否满足性能要求3、 负载测试:在一定软硬件环境下,通过不断加大负载(不同虚拟用户数)来确定阿紫满足性能指标情况下能够承受的最大用户数。简单的来讲就是,可以帮助我们对系统进行容定量,找出系统性能的拐点。从操作层面上来说,负载测试也是一种性能测试手段4、 压力/强度测试:在一定软硬件情况下通过高负载的手段来使服务器资源(强调服务器资源翻译 2021-04-28 22:35:35 · 786 阅读 · 0 评论