范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

压测工具笔记(二)之JMeter

  @TOC 压测工具笔记(一)之主流工具:https://blog.csdn.net/weixin_42526326/article/details/121041125)
  压测工具笔记(二)之JMeter:https://blog.csdn.net/weixin_42526326/article/details/121040719
  JMeter是Apache下的一个顶级项目,一个功能强大压力测试工具
  JMeter是一个纯java写的开源软件,用来测试可变行为和性能。起初它设计的目的是测试Web应用,但是现在已经扩展到其它的测试
  JMeter既提供了GUI界面方便用户使用也提供了命令行的方式让用户操作 环境下载 [登录官网:http://jmeter.apache.org/download_jmeter.cgi),下载安装包或者解压包(推荐使用压缩包) 低版本注意: 5.4版本支持JDK1.8以及更高的版本
  apache-jmeter-5.4.1.tgz
  apache-jmeter-5.4.1.zip 安装/解压 安转目录文件说明 bin:可执行脚本文件docs:JMeter提供的api的文档extras:额外的文件lib:JMeter本身所依赖的jar包licenses:JMeter依赖的jar包的licenseprintable_docs:JMeter的介绍和使用手册 配置环境变量 也可以不配置,只是为了方便脚本使用电脑桌面-->右键选择"属性"--> 高级系统设置-->高级-->环境变量 新建系统变量JMETER_HOME = D:Toolsapache-jmeter-5.4.1(安装路径)新建系统变量CLASS_PATH=%JMETER_HOME%libextApacheJMeter_core.jar; %JMETER_HOME%libjorphan.jar;(在CLASS_PATH中的路径固定)配置系统变量PATH,加上%JMETER_HOME%bincmd 控制台 命令 jmeter -v启动测试环境 cmd 控制台 命令 jmeter 直接可以启动 启动 安装目录下启动程序(推荐桌面快捷或者jmeter脚本启动,默认为GUI模式) 启动成功 从这段提示我们至少可以知道两个信息:不要用GUI的模式进行测试,而应该用CLI模式(命令行,服务器一般不需要GUI)运行参数可以改变,但是不建议修改 set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m  Options->Choose Language->Chinese(Simplified)切换成简体中文 HTTP接口测试
  JMeter可以支持测试的应用/服务/协议有很多,目前主要介绍HTTP请求
  接口测试的 主体流程 :创建测试计划,计划中创建线程组,线程组中创建线程HTTP请求,进行测试 测试计划(初始化会创建一个) 线程组 右键TestPlan->添加->线程(用户)->线程组配置说明:线程数填10,Ramp-up时间填5,循环次数填1,就表示在5秒内执行一次,发送10次请求。 HTTP请求 右键Thread Group,添加->取样器->HTTP请求 填写请求配置:  方法选择GET,路径为url的请求路径,GET请求的参数可以直接带在路径上,也可以写到下面的参数那里,通过点击"添加"按钮来添加请求参数。  **配置请求头:**  添加->配置元件->HTTP信息头管理器
  测试 右键HTTP请求,添加->监听器->察看结果树右键HTTP请求,添加->监听器->聚合报告填写好以上的配置,选择需要的监听器,点击绿三角就可以进行进行测试,测试之后查看监听器,就会得到我们想要的结果监听器功能: 测试报告  报告解释:样本:请求的次数,计算公式是线程数*循环次数,如果线程组配置勾选了永远,那么就是你停止测试时实际发送的请求数平均值:响应时间的平均用时,单位是毫秒。比如这里的平均响应时间是38毫秒中位数:响应时间的中位数,单位是毫秒。90%百分位:90%的响应时间小于该数值,单位是毫秒。这里有90%的响应时间小于22毫秒95%百分位:含义和90%类似99%百分位:含义和90%类似最小值:本轮测试最小响应时间,单位是毫秒。最大值:本轮测试最大响应时间,单位是毫秒。异常%:本轮测试出现异常的请求比例。吞吐量:可以理解为QPS,即是我们测试的接口处理请求的能力。比如这里是平均每秒可以处理2.2次请求接收KB/Sec:响应数据的接收速率发送KB/Sec:请求数据的发送速率刚才只是简单地5秒10次请求,一般的接口都没有问题,当我们把线程数扩大百倍至1000,结果就不一定了。清除数据,重新测试:先点击界面上方的一个齿轮加两把扫帚的按钮来把结果树和聚合报告清除,然后再点击绿色的启动按钮,重新测试你会发现当并发增大时,会有一部分请求出现了异常。再切换到聚合报告上,你会发现原来平均响应时间只有30多毫秒直接飙到5秒多了,异常率也出现了。这时就需要我们根据一些错误信息去做一些调优了,可能是系统级别的,也可以是jvm级别的,又或者是代码本身的问题。这不是本篇所要讲的,这里就不说了。 JMeter进阶自定义变量 同postman一样,我们也可以在jmeter中创建测试的变量右键点击Thread Group,添加->配置元件->用户定义的变量,也可以在测试计划或者HTTP请求下创建,这样作用域就是整个测试计划或者HTTP请求。然后选择用户定义的变量,并在右边点击添加按钮,添加host和port两个变量:在JMeter中使用变量是通过${}来引用的,比如要引用host变量,就是${host},然后我们选择HTTP请求,把IP地址和端口改为引用变量的形式 JMeter命令 我们的服务器基本都是Linux系统,而我们的服务器应该不会安装GUI操作界面,因为这对于用来运行服务来说不但没用,还会吃掉很多cpu和内存资源,可能还会让服务器不稳定。这也是JMeter建议我们不要用GUI的方式去测试的原因。既然这样,为什么JMeter又要提供GUI界面呢,看回JMeter的启动控制台,有这样一行信息: jmeter   -n    -t   [jmx file]  -l   [results file]  -e    -o   [Path to web report folder] 这里我们关注一个参数是-t,后面接jmx文件,这个文件就是上面保存的jmx文件,它保存了JMeter压测时需要的线程组、HTTP请求等配置参数。打开可以看到其实是一个xml格式的文件,里面有各种各样的参数,如果没有GUI界面,让用户去手写这么一个配置文件,那就很麻烦了。jmeter的完整参数可以通过jmeter -? 查看,这里只介绍几个常用的参数:-n:非GUI模式,其实就是命令行的模式
  -t:后跟测试文件(jmx文件)
  -l:后跟log文件,把测试的过程输出到日志文件中
  -e:测试结束后生成报告
  -o:测试报告存放目录,必须是空目录 下面的命令行完成后会在指定的目录生成html格式的测试报告,下面只展示index.html,打开它,就可以看到很漂亮的图形化的报告了,可以拿去给你们老板看了。jmeter -n -t "D:Toolsapache-jmeter-5.4.1binhttpTest Plan.jmx" -l "D:Toolsapache-jmeter-5.4.1binhttpTest Plan.log" -e -o E:Gamejemeter_result 分布式测试 上面所介绍的是在一台机器上的操作,那么就会有这么一个问题:当你设置线程数为10时,在一台4核心cpu的机器上执行,这台机器模拟出10个线程当然没问题,但是假如你把线程数提升到10000,表面上这台机器也在努力地给你模拟10000个线程,但是它的核心数也只有区区4个,在底层其实还是操作系统在不断切换线程来模拟这10000个线程,线程切换需要时间,发送请求也需要时间,这样做的话除了让测试机的cpu使用率飙升到100%之外,还可以让你得到一份 不准确甚至错误 的数据,因为你的机器其实是没办法在5秒来把这10000个请求发送完毕的。这个时候我们就需要用多台机器去同时给接口机发送请求,这就是分布式测试。说一下大致的原理,我们准备多台机器,其中一台作为master机器,其余的作为slave机器,master机器用来发送指令,slave机器去执行,原理图如下:这些机器的要求如下:关闭防火墙或者打开响应的端口在同一个子网JMeter可以访问测试的接口JMeter的版本一致,JDK的版本也一致,否则可能出错必须为RMI设置SSL或者关闭它满足了以上的条件,先执行各个slave里bin目录下的jmeter-server,然后开发master机器上的JMeter的bin/jmeter.properties文件,找到remote_hosts=127.0.0.1那行,并且改为slave内网地址,地址之间用英文逗号分隔,然后打开master机器上的JMeter,像单机那样测试就可以了。 注意:
  关闭前需要保存我们设置好的测试计划
  问题:  保存测试脚本时只保存了Testplan下的部分节点,导致生成的测试脚本只是"testplan"下面的某些元素,,不包括需要运行测试所需的"TestPlan"元素。
  解决方案:  在保存测试脚本时,保存整个测试计划,以下两种方式
  1.在文件菜单中单击"保存测试计划"或"保存测试计划为"选项;
  2.鼠标选中测试计划节点,直接点击工具栏上的"保存测试计划"按钮 专有名词说明:
  专有名词
  说明
  TestPlan
  测试计划,相当于一个工程,需要测试什么,怎么测就是定义在一个测试计划中
  Thread Group
  线程组,相当于模拟的请求数。一个线程相当于一个用户请求
  察看结果树
  监听发送请求时各个请求的状态
  聚合报告
  把一次测试的数据汇总  使用体验:
  使用下来的第一感官是:工具功能强大,但是GUI做的是真的low,连自适应都没有。
  相对来讲Windows风格的界面是最友好的一个了 选项-->-外观->Windows
  参考:https://www.cnblogs.com/spareyaya/p/12807638.html

640元一副的口罩你见过吗?雷蛇新款口罩自从2019年底疫情爆发以来,全球每时每刻都笼罩在新冠病毒这四个字的阴影之下,可以说是满城风雨。不过在我国积极采取联防联控,接种疫苗,定期核酸检测的一系列措施下,国内的疫情控制的还为什么很多人宁愿二手iphone,也不会买安卓?听听内行人怎么说导读为什么很多人宁愿二手iphone,也不会买安卓?听听内行人怎么说这个话题其实在很早之前就有很多人都注意到了,常去逛二手市场的朋友经常能看到市场里最多的手机就是二手iphone,奇怪的电脑问题,搞了一天今天从新装了系统,首先格式化硬盘,从新分区以后,采用u盘装系统,找不到u盘启动,最后通过bios恢复默认值,在boot里面可以把u盘设置成了第一启动,顺利进入U盘安装了win7系统道途坎坷,壮年联想该何去何从,能否赢得尊重最近联想又火了,此火非彼火。火的原因是啥,应该大家都知道什么原因,因为一个人发起了巨大的批判。其实联想这两年一直处在风口浪尖上,稍有不慎,就会被抓住尾巴,迎来猛烈批判。联想从成立之联想应该倒掉今天看到一篇文章,说联想公司尽管有问题,也是中国的电脑公司,如果垮掉了,还是国家的损失。这个作者可能是要为联想说情。可是联想在外界的好几个质疑都不想回答的情况下,柳传志老先生又公布人民财评ampampquot静悄悄ampampquot的ampampquot双11ampampquot让人看到创新的涌动来源人民网今年的双11,过得有些静悄悄。在企业发布的信息中,不再有实时更新激动人心的成交总额,取而代之的是层层细分的品类数据。而在消费者的角度看来,随着优惠周期的拉长尾款期限的放宽不要贩卖燃油车禁售的焦虑来源经济日报第26届联合国气候变化大会上,比亚迪奔驰等6家主要汽车制造商签署承诺到2040年在全球范围内逐步停止燃油车的生产。消息发布后,有人在网上又开始贩卖焦虑,以后你买不到燃油前苹果设计灵魂离职后首度发声这才是苹果更像苹果的秘诀我非常想念史蒂夫,永远想念与他无言却充满默契的日子。ImissStevedesperatelyandIwillalwaysmissnottalkingwithhim。JonyIve双十一手机战报回顾苹果失去销量冠军,国产手机全面胜出双十一虽然已经过去,京东数码手机销量排行榜也已经定局了将近一个星期了,但是我们还是很有必要复盘一下数码圈的销量排名。如此,才能在接下来的双十二大战中继续拔得头筹。今年的双十一稍显冷为啥很多人嘴上说买华为P50,最后背地里入手苹果13,3个真实原因大家有没有遇到自己身边的朋友,整天嘴里说要支持华为,想买个华为p50,结果时间不长,却买了iPhone13。作为数码行业从业者,我见过太多这种人。说真的,如果让我选,我也会毫不犹豫若苹果退出中国市场,这到底是意味着什么?苹果快死了你这问题问的有点不全面吧!我倒是不明白或者不敢相信!到底是苹果工厂退出中国市场还是工厂和市场全部退出中国市场。目前有三种可能第一,苹果工厂退出中国市场。毕竟这几年中国市场
曝1。08亿主摄三星Note21Ultra,Note20沦为百元机,唱响价格悲歌曝光将继承安卓机皇风范三星Note21Ultra高配旗舰是采用了最新最先进的4nm工艺技术,曝光将继承安卓机皇风范三星Note21Ultra高配旗舰对于整体性能提高了许多,曝光将继小米MIXFold2新机曝光,小米11低至百元,发烧史无前例小米去年重启了MIX系列,推出了屏下摄像头方案的小米MIX4。但由于配置规格的选择和探索的不足,这款机型最终并没有在市场上取得理想的表现。对此,数码博主iIceUniverse近日时尚美学理念加持华为P50E手机,四种配色尽显与众不同近日,华为P50E手机惊艳亮相!延续了华为P系列独特的美学设计,采用万象双环设计,作为华为P50系列手机的标志性设计,将功能性的双影像单元与美学的双环设计完美融合,让质感与美感共生iQOONeo6新信息公布搭载骁龙8独显芯片Pro,配120HzOLED屏IT之家4月6日消息,iQOONeo6将于4月13日正式发布,今天官方在微博对新机进行了多次预热,公布了一些配置方面的信息。首先,iQOONeo6将搭载骁龙8芯片,GPU性能相较于图赏iPhoneSE3可能是最后一台小屏手机了iPhoneSE3自从发布后,就被推上风口浪尖。有的人赞不绝口,有的人觉得苹果摆烂。于是机哥前一阵子也在微博预告了,我搞了一台SE3回来瞧瞧这不,今天先给大家看看不同角度的图赏,光理性分析如何选择Switch的外接屏幕,入手泰坦军团38。5英寸显示器大家好呀,我是兔牙先生。前言不久前是我和老婆大人的结婚纪念日,诚然我俩并不是那种沉迷游戏的人,但也禁不住朋友在耳边天天动森长动森短的,既然心动了,索性就干脆买了一台任天堂Switc苹果手机自设来电头像这个支持苹果以及系统ios最新得版本哦,来电显示全屏仅限制对方也是苹果手机哦,不然不是苹果手机的来电是黑色右上角一个小头像。今天偶然看到这个ihone的隐藏小功能,立马安排上了,小等等党又赢了,全球手机市场销量低迷,价格战或卷土重来近日,关于年轻人为什么不换手机了的话题登上了网络热搜,在绝大多数网友的评论中,手机产品创新力枯竭价格却越来越贵老手机性能明显过剩等成为主要原因。同时,市场调研机构的数据也印证了这一酷派不服输,二代5G新机6300mAh天玑900!有香味了了解酷派这个品牌的用户就知道,虽然现在酷派算不上国产大品牌,但已经进入到5G市场的竞争行列,与其它小品牌手机还停留在4G时代完全不一样。这充分说明酷派这个品牌有实力做5G手机,在所国产手机系统何时取代安卓?目前国内手机操作系统,除了苹果的iOS,就是各大手机厂商基于安卓定制的各大UI了。自特朗普上台以来,各种骚操作不断,导致各界人士不由自主担忧起来,万一安卓断顿了,手机操作系统该怎么iQOONeo6官方照公布超大云阶矩阵这个月可以说是蓝厂的主场,新品的数量有点多,就连iQOO也要发布Neo5的继任者Neo6了。去年Neo5还是非常能打的,就让我们来看看新机的表现吧Neo6的背部采用了较大的矩阵模组