
性能测试
文章平均质量分 51
一、jmeter的简单使用
二、jmeter的生产压测方法
三、性能监测常用的linux命令
四、性能检测常用的工具
五、性能分析与调优
舌尖上的蛋炒饭
持续学习是一个人的自我修养,你的行为方式为人处事潜移默化的被书中的人或事影响。在自己的身上不断演绎着忒修斯之船悖论,才是保持思考与年轻的关键。世界纷繁复杂,社会花花绿绿,每个人都在时间中奔跑啊,记得偶尔停下来,生活不止有短视频不止有游戏不止有工作,除了是一个看客一个player一个员工,还是父母的儿子是妻子的丈夫也是一个可以独立思考的人。
展开
-
jps(Java Virtual Machine Process Status Tool)
jps原创 2022-06-10 15:42:04 · 243 阅读 · 0 评论 -
jmap查看内存-Memory Map for Java
jmp原创 2022-06-10 15:41:01 · 769 阅读 · 0 评论 -
jstat性能分析
jstat原创 2022-06-10 15:39:58 · 197 阅读 · 0 评论 -
cpu暴涨如何分析
cpu暴涨如何分析原创 2022-06-10 15:36:58 · 462 阅读 · 0 评论 -
性能分析指标之间的关系
性能分析指标之间的关系在学性能的时候,我们一定会接触内存、cpu、JVM等等,但是这么多指标,一直有疑问,他们在哪里,之前整理了cpu和内存的,那这次就统一整理一次这些指标的位置,这样就能比较清晰明了的知道这些指标之间的关联和层级关系内存和CPUJVM在哪里JVM是一个进程,存在于内存中,比如说我电脑里运行着两个jar包,分别为avalon和couponws。JVM的样子1.7之前的样子1.7之后的样子堆我们调优最重要的地方...原创 2021-11-18 20:50:57 · 377 阅读 · 0 评论 -
Jmeter之multipart/form-dat和boundary
Jmeter之multipart/form-dat和boundary不知道大家有没有遇到过这样的接口单个参数点击上图的view source之后就变成下图的样子这样的接口该如何录入到jmeter中呢1、选择mulitpart/form-data并正常录入参数2、添加信息头将从第二张图的Content-Disposition和它的值:form-data; name="platformCode"复制到信息头,其余的信息头根据情况添加谨记:不要再在信息头里添加content-type:mu原创 2021-11-03 17:42:10 · 1599 阅读 · 0 评论 -
Jmeter返回值乱码+POSTMAN提取token
Jmeter返回值乱码+POSTMAN提取信息Jmeter返回值乱码现象解决方案添加BeanShell 后置处理程序prev.setDataEncoding("UTF-8");结果POSTMAN提取tokentoken的提取1、位置:登陆接口的Tests2、内容var jsonData =JSON.parse(responseBody);//获取body中返回的所有参数,存储在jsonData变量中postman.setGlobalVariable("token",jsonD原创 2021-10-11 12:04:42 · 273 阅读 · 0 评论 -
JVM:如何查看并设置jvm参数+jinfo+查看详细的jvm参数java-XX
JVM:如何查看jvm设置的参数查看jvm参数我们什么都不要管,先来看一下,眼见为实jps:查看当前java进程id,java本身就是一个进程[root@hecs-82454 ~]# jps30101 Jps27046 jar[root@hecs-82454 ~]# jinfo -flags 27046Attaching to process ID 27046, please wait...Debugger attached successfully.Server compiler de原创 2021-09-08 21:39:09 · 8928 阅读 · 0 评论 -
性能分支之性能指标
性能分支之性能指标CPU小于85%loadtop 的load average平均每核小于1内存内存使用小于80%;Full GC平均少于1小时1次IOiowait<30%网络吞吐量<= 70% * 网卡速率错误率错误响应小于0.5%超时响应超时响应小于0.5%响应时间(RT)基于接口的平均响应时间<100ms,95分位数响应时间<100ms基于web页面的响应时间<3秒数据库DB CPU使用率<=80%单条SQL执行时间<=原创 2021-09-03 14:41:34 · 123 阅读 · 0 评论 -
华为云influxdb+grafana+ prometheus安装和如何外网访问华为云+java环境安装配置+jmeter安装配置+Jmeter后端监听器+非GUI执行jmeter脚本
华为云influxdb+grafana+prometheus安装首先声明:我的云主机是全新的,所以都得从头来docker安装yum包更新到最新sudo yum update安装需要的软件包,yum-utils提供yum-config-manager功能,另外两个是devicemapper驱动依赖的sudo yum install -y yum-utils device-mapper-persistent-data lvm2设置yum源为阿里云sudo yum-config-manager原创 2021-09-02 14:11:57 · 1614 阅读 · 0 评论 -
性能监控之网络吞吐量
性能监控之网络吞吐量检查设备网络带宽ip a#检查网卡,选取带eth的ethtool eth0这里就遇到问题了,有可能没有权限也有可能你的是云主机,部分会是这样的这种情况只能问一下运维来获取主机的带宽,那我们问来的是什么呢,偷来一张图,获取Speed里的数值,这里就是说是百兆宽带监控网络吞吐量sar -n DEV 1 4#1秒采集一次,采集4次sar -n DEV 1#1秒采集1次,一直采集,直到手动结束我们需要的是rxpck/s和txpck/s,这两个加起来就是现在原创 2021-09-01 18:26:22 · 660 阅读 · 2 评论 -
性能监控之Grafana
job选择对应的服务,一个服务线上可能有多台主机,所以instance name要选择对应的机器发布的时候CPU的变化JVM的变化DAO的变化原创 2021-09-01 14:55:41 · 1025 阅读 · 0 评论 -
性能分析之IO
性能分析之IO下载指令iostat指令yum install sysstatiostatiostat -x 1 #-x该选项将用于显示和io相关的扩展数据 1为1秒打印一次(1 CPU)是cpu的核数%util:一秒中有百分之多少的时间用于I/O操作,一般%util大于70%,I/O压力就比较大%idle:CPU空闲时间百分比。%iowait:CPU等待输入输出完成时间的百分比,最好要小于30%...原创 2021-09-01 13:52:44 · 111 阅读 · 0 评论 -
性能分析之Memory、free+jstat+内存模型
性能分析之Memory、free+jstat+内存模型freefree #以kb为单位查看内存free -m # 以M为单位查看内存我们先来看一下我们现在的free命令就是上面这样的total 系统总的可用物理内存大小used 已被使用的物理内存大小,是只有被程序占用的内存,而不是所有的free 还有多少物理内存可用,是真正尚未被使用的物理内存数量。shared 被共享使用的物理内存大小buff/cache 被 buffer 和 cache 使用的物理内存大小available 还可转载 2021-08-31 19:39:44 · 499 阅读 · 0 评论 -
性能分析之top(主要用来分析cpu,但是也有内存的信息)和vmstat
性能分析之top(主要用来分析cpu,但是也有内存的信息)概览下面是我自己理解的画出来的一张图,讲述了cpu、内存、硬盘、swap、buffers、cached的关系。tophttps://blog.youkuaiyun.com/xujiamin0022016/article/details/89072116load average%Cpu(s)和%cpu(top命令竟然还可以看主机有几核)https://www.pianshen.com/article/9241255427/buffer/cache原创 2021-08-30 19:46:11 · 1090 阅读 · 0 评论 -
性能测试基础知识QPS+TPS+事务
性能测试基础知识QPS+TPS+事务事务就是用户某一步或几步操作的集合。不过,我们要保证它有一个完整意义。比如用户对某一个页面的一次请求,用户对某系统的一次登录,淘宝用户对商品的一次确认支付过程。这些我们都可以看作一个事务。那么如何衡量服务器对事务的处理能力。又引出一个概念----TPSTPS和QPSTPS是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到原创 2021-08-30 16:38:40 · 823 阅读 · 0 评论 -
Jmeter之setUp线程组:解决变量在线程组之间不同步的问题+真实的多接口压测脚本+BeanShell后置处理器+函数助手
Jmeter之setUp线程组:解决变量在线程组之间不同步的问题+真实的多接口压测脚本+BeanShell后置处理器+函数助手演示一下不同线程组之间参数是否同步第一个线程组将登陆token提取和查询两个接口都包含进去了,第二个线程组只有查询接口结果第一个线程组的查询是成功的第二个线程组是提示没有token的,需要登陆,说明是没有登陆的真实的多接口压测脚本但是真实的压测多个接口的脚本都是这样的,一个接口一个线程组,为什么这样做,因为这样一是好控制每个接口压测的策略,2是报告好区分。那该怎么办原创 2021-08-30 10:53:21 · 2001 阅读 · 0 评论 -
Jmeter参数化之CSV
Jmeter参数化之CSV创建csv文件新建一个文件,csv格式,注意英文逗号mobile,age11,122,233,344,555,566,6添加CSV 数据文件设置并配置新建CSV 数据文件设置组件,添加文件CSV的线程共享模式之:当前线程csv文件的使用是和数据库不一样的,JDBC Request是一次性取出全部数据,然后我们通过循环控制器和计数器去遍历,但是CSV是根据线程去遍历的,不需要我们手动去遍历,遍历的方式取决于我们的选择我们选择1个线程循环6次共享原创 2021-08-27 16:37:36 · 268 阅读 · 0 评论 -
Jmeter之BeanShell:自己编写jar包Idea打包+jar包的引入+BeanShell的使用
Jmeter之BeanShell:自己编写jar包+jar包的引入+BeanShell的使用创建项目以MD5加密为例子新建完是这样的新建获取md5加密的方法package Md5;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class Md5Method { //这里一定要写上main方法 public static void ma原创 2021-08-27 14:54:42 · 950 阅读 · 3 评论 -
Jmeter之链接数据库:JDBC Connection Configuration+JDBC Request+获取数据的使用+循环控制器+计数器
Jmeter之链接数据库:JDBC Connection Configuration+JDBC Request+获取数据的使用JDBC Connection ConfigurationVariable Name for created pool:这个要记住,因为这个组件只是配置了数据库的连接,而这个就是配置的名字,下一小节JDBC Request的时候还要用到这个字段**Validation Query **:一个简单的查询,用于确定数据库是否仍在响应默认情况下:hsqldb:select 1原创 2021-08-26 13:06:28 · 716 阅读 · 0 评论 -
Jmeter之仅一次控制器
Jmeter之仅一次控制器这样一个场景,我们平时压测,登陆接口只是用来获取token和cookie的,我们想要压测的是查询接口,那我们该怎么办,那就是:仅一次控制器我们的测试是5个用户,每秒唤起一个将登陆接口放到仅一次控制器下执行结果,不对呀,为什么还是执行了5次呢原因出在这里,仅一次控制器是对一个线程来说的再次执行的结果...原创 2021-08-25 20:00:57 · 1499 阅读 · 0 评论 -
Jmeter之集合点: Synchronizing Timer(同步定时器)
Jmeter之集合点: Synchronizing Timer(同步定时器)我们模拟5个用户的操作,一秒启动一个请求先看一下不加集合点的情况是请求一次登陆再请求一次查询我们这次加上集合点,就是一直等到5个人的时候才会执行查询操作这个时候就会连续执行5次登陆之后再一下执行5次查询当然可以更直观一点的查询方式是通过聚合报告或者聚合报告你会发现报告中的登陆样本从1变成5,然后一下子新增5个查询的样本我们再来看一下集合点的超时时间的使用现在我们的集合点设置了6个用户才会执行,但是我们一共就原创 2021-08-25 19:49:34 · 288 阅读 · 0 评论 -
Jmeter之提取:DebugSampler+正则表达式提取器+JSON提取器+cookie提取
Jmeter之提取:DebugSampler+正则表达式提取+JSON提取正则表达式提取器这是我们登陆接口的返回,我们需要提取token{"code":200,"message":"OK","result":{"platformUserId":101947,"authToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJPUEVOX1BMQVRGT1JNIiwibmJmIjoxNjI5ODg0MDI0LCJpc3MiOiJTZXJ2aWNlIi原创 2021-08-25 19:11:03 · 2638 阅读 · 0 评论 -
记一次由于错误使用“对post使用multipart /form data”与“content-type”造成的问题
记一次由于错误使用“对post使用multipart /form data”与“content-type”造成的问题1、postman调用是成功的,选择了form-data2、poatman中有Content-Type3、Jmeter选择对post使用multipart /form data4、Jmeter也和postman一样新增了Content-Type5、从Jmeter的请求看起来和postman是一样的,也请求成功了6、但是偏偏Jmeter的返回结果就是不对7、解决办法:去原创 2021-08-09 13:29:42 · 922 阅读 · 0 评论