
jMeter
Y小星
这个作者很懒,什么都没留下…
展开
-
jMeter内置变量vars和props
props本质是Map,是jmeter全局变量的引用,只能在beanshell里面进行赋值和取值;如果要在非beanshell里面进行取值可以使用${__property(变量名)}vars:本质是Map,是单个线程的本地属性,只能在beanshell里面进行赋值和取值;如果要在非beanshell里面进行取值可以使用${变量名}...原创 2021-05-06 18:51:06 · 469 阅读 · 0 评论 -
Xms、Xmx、MaxMetaspaceSize含义
Xms:表示JVM Heap(堆内存)最小尺寸,初始分配空间;Xmx:表示JVM Heap(堆内存)最大允许的尺寸,过小可能会导致java.lang.OutOfMemoryPermSize:永久代最小尺寸,初始分配MaxPermSize:永久代最大的尺寸,过小会导致java.lang.OutOfMemoryError:PermGen spaceMetaspaceSize:元空间最小尺寸,初始分配MaxMetaspaceSize:元空间最大的尺寸注:Java8以后,永久代被元空间取代,原创 2021-05-06 18:43:09 · 18934 阅读 · 0 评论 -
address already in use:connect
运行脚本报错:java.net.BindException: Address already in use: connect原因分析:这个问题的原因是windows端口被耗尽了(默认1024-5000),而且操作系统要 2~4分钟才会重新释放这些端口,所以可以增加windows的可用端口来解决。windows端口最大数为65534解决方法一:修改操作系统注册表1、cmd输入:regedit2、找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlS.原创 2021-01-05 09:35:03 · 4511 阅读 · 0 评论 -
性能压测一些心得总结(一)
1.压测确认1.1系统结构、拓扑图便于查看请求的整个路由过程,方便后期性能问题排查。1.2用户信息主要的使用用户,系统用户使用的高峰期,方便推算系统当前最大并发数。也可通过系统日志,来获取系统、各场景当前最大并发数1.3待测场景明确本次性能压测的待测场景,和各场景涉及的服务器1.4数据量明确各待测场景对应表的数据量,如果量不够需要预制2环境配置2.1需要明确环境的点服务器名称、服务器IP、操作系统、服务器类型、CPU、内存 等等,如果被压环境不是生产环境,需评估该原创 2020-12-15 14:50:18 · 598 阅读 · 1 评论 -
性能压测一些心得总结(二)
思维导图一、任务管理1、任务申请一般来说,性能测试需求的来源有2个方面:项目组提需求项目组主动提性能测试需求,一般需要提供被测系统归属的项目条线、系统名称、系统架构图、网络拓扑图、相关设计文档及相关环境的配置信息,以及项目经理、开发、运维、DB等联系方式,还有被测系统交付测试时间,deadline时间等信息。这种情况又可以分为三种类型:新系统发布:新的系统发布上线,需要对功能,性能,安全等各方面做一个完整的测试,评估是否达到业务、产品既定的上线要求。老系统迭代:已有.转载 2020-12-14 17:37:40 · 634 阅读 · 0 评论 -
jMeter单独运行每个线程组
注意:此方式是下个线程组只能等上个线程组全部彻底迭代完成才会执行原创 2020-11-25 17:42:47 · 3652 阅读 · 0 评论 -
jMeter远程压测时回传查看结果树
Master节点主控机修改jmeter配置文件jmeter.properties打开mode=Standard,保存后重启即可如上图回传的模式有很多,详情可以参考官方文档原创 2020-11-25 16:48:44 · 638 阅读 · 0 评论 -
jMeter线程组参数化(GUI界面非命令行)
需求如下:混合场景下有4个线程组1、2、3、4,比例分配依次是10%、20%、30%、40%,如果总并发需要分别尝试1000、2000、3000、4000就要都分别修改,可不可以只修改总并发一个地方,实现方式可参考如下:1. setUp Thread Group里设置总并发2. 分别配置线程组1、2、3、4(${__P(threads1,)})...原创 2020-11-25 14:31:52 · 397 阅读 · 0 评论 -
jMeter之集合点
简单理解就是设置一个集合点,到了一定数量后一起并发请求,但其实也做不到真正的并发,因为CPU切换本身就需要一定的时间。个人不建议设置,jMeter默认一个请求完成后会立即继续迭代,有时候设置了性能还会降低。...原创 2020-11-08 20:01:59 · 356 阅读 · 0 评论 -
jMeter结构体系及运行原理
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2020-11-08 10:15:53 · 235 阅读 · 0 评论 -
jMeter入门常用组件详解
测试计划(TestPlan)理解:包含一个测试的所有内容,包含所有的控件,属性,变量。所以一个jmx文件中只有有一个测试计划。测试计划中可以定义变量,引入jar包,编辑测试模式等。注意事项:可将一些不常变化的数据存入测试计划的变量,方便在测试计划内调用(例如服务器ip,端口,数据库ip等)。线程组(Threads(Users))理解:一个虚拟用户组,线程组内线程数量在运行过程中不会发生改变。一个测试计划内可以包含多个线程组,线程组间变量相互独立。可定义内容:取样器错误...原创 2020-11-08 16:26:51 · 330 阅读 · 0 评论 -
JMeter组件执行顺序与作用域
一、重要组件1)配置元件---Config Element: 用于初始化默认值和变量,以便后续采样器使用。配置元件大其作用域的初始阶段处理,配置元件仅对其所在的测试树分支有效,如,在同一个作用域的任何采样器前。2)前置处理器--- Pre Processors: 前置处理器会在采样器发出请求之前做一些特殊操作。如果前置处理器附着在某个采样器之下,那么它只会在该采样器运行之前执行。前置处理器通常用于在采样器发出请求前修改采样器的某些设置,或者更新某些变量的值(这些变量不在服务器响应中获取值)。原创 2020-11-08 16:31:27 · 234 阅读 · 0 评论 -
jMeter线程间cookie共享
就登录做例子,思路:先登录一次,获取cookie将其保存到jmeter全局属性中(${__setProperty(sessionId,${sessionId},)}),至此事情就好办了详细实现1、获取cookie将其保存至全局属性中:${__setProperty(sessionId,${sessionId},)}2、添加全局HTTP Cookie Manager:${__property(sessionId,,)},同级线程间就可以共享了注意:多线程组时,登录优先,即需要线程组的执行顺原创 2020-11-08 17:25:30 · 324 阅读 · 0 评论 -
jMeter常用后置提取器
正则提取器引用名称:自定义的变量名称,方便后续引用正则表达式:():括起来的部分就是要提取的 .:匹配任何字符串 +:一次或多次 ?:不要太贪婪,在找到第一个匹配项后停止模板: $1$表示解析到的第1个值 $2$表示解析到的第2个值 $n$:表示取第n个匹配数字:0代表随机取值,1代表全部取值,通常情况下填0Json提取器$可以理解为...原创 2020-11-08 17:42:11 · 158 阅读 · 0 评论 -
jMeter 分布式压测(5.1.1版本)
1、slave配置jmeter.propertiesABCDjmeter-serverA完成后,执行./jmeter-server 命令查看,结果如下:2、master配置jmeter.propertiesA、添加执行机B完成后,可见如下注意事项:1、调度机和执行机 上的jdk(实在不行大版本保持一致)、Jmeter版本需要一致;2、调度机和执行机直...原创 2020-11-08 18:11:39 · 227 阅读 · 0 评论 -
jMeter之IP欺骗(模拟不同的IP并发)
在压力测试下,有这样的场景,希望模拟的批量用户来自不同的IP地址。如果小伙伴用LR是很容易实现的,JMeter用IP欺骗即可实现1、点击高级,添加伪造的IP地址这里添加的IP地址需要确认没有被占用2、新增IP参数化文件3、新建参数化请求4、然后就可以在脚本里引用了...原创 2020-11-08 18:35:16 · 1309 阅读 · 0 评论 -
jMeter性能压测(TCP长连接)
注意End of line(EOL):响应文本最后一个字符ASCII码的十进制表示,如果不设置,jmeter会一直读取流,最后认为请求失败,response code 500,所有的结果都会被标记为错误,这里的10表示换行\n原创 2020-11-08 19:41:22 · 2952 阅读 · 0 评论