Jmeter压力测试简单教程(包括服务器状态监控)

Jmeter压⼒测试简单教程(包括服务器状态监控)
⽬录
步骤⼀安装Jmeter
步骤⼆使⽤Jmeter测试未登录页⾯
步骤三设置线程并发数
步骤四设置其他
步骤五登录测试
步骤六会话保持
步骤七⽂件读取⽹址
步骤⼋服务器状态实时监听
前段时间公司需要对服务器进⾏压⼒测试,包括登录前的页⾯和登录后的页⾯,主要⽬的是测试负载均
衡的实现效果。不知道是不是因为Jmeter不如loadRunner⽕爆还是什么,⽹上关于Jmeter的资料有很多但是⼤多千篇⼀律,要么简单弄个页⾯测试⼀下,要么全篇都是介绍很多和Jmeter⽆关的第三⽅⼯具,看起来很专业⾼深,但是作为测试⼩⽩来说,看到这样的东西确实头疼。我只是想好好了解⼀下Jmeter的使⽤啊,能不能完整的介绍⼀下啊?我不需要了解那么多其他的第三⽅⼯具啊?能不能截个图说的清楚⼀点啊?这个步骤⾥的参数是⼲嘛的啊?对应的什么啊?你的这⼀步我怎么出现问题了啊?怎么不说解决⽅法啊。。。这应该是我前段时间查Jmeter资料内⼼最多的问题了,真是哔了狗了(我是⼀个优雅的程序猿,很少讲粗话啦~嘿嘿)。对于使⽤某种新的东西,我的习惯往往是先把流程完整的跑⼀遍,记住,是完整,清晰,好⽍别⼈看了之后对应着⾃⼰的需求也能照搬着实现,吐槽了够多了,开始进⼊正题,我把我遇到的坑都说清楚,包括后来怎么从坑⾥爬出来的。。。
步骤⼀安装Jmeter
我⽤的版本是3.1版本,为什么是3.1,因为3.2有问题,我也是跑了⼀段时间后才知道3.2版本太新了还是什么的,有些功能就是不⾏,在此建议⼤家,不要轻易使⽤最新版本,次新版本就可以了。安装好了之后Jmeter的bin⽬录下有个Jmeter.bat⽂件,双击就能运⾏了。
步骤⼆使⽤Jmeter测试未登录页⾯
运⾏软件之后,我们当然要个链接测试⼀下啦,这⾥我们以百度为例,我们右击“测试计划”——“添加”——“Threads(Users)——线程组”,这样就建了⼀个线程组了,这是⼲嘛,当然是跑线程⽤的啊。
有了线程组之后,我们再右击线程组,“添加”——“配置元件”——“http请求默认值”,这个默认值是⼲嘛的?⾥⾯可以设置⼀些常⽤的默认的设置(这不是废话嘛~),在http请求默认值⾯板⾥⾯,我们可以输⼊要测试的服务器的IP或者域名,这⾥我们输⼊“”,协议是“https”,你要测试的⽹址如果是http开头那就填“http”,其他默认不管了,这时候点击左上⾓保存会弹出⼀个保存框,这是让你保存你现在所做的测试配置,以后需要再测试的话的直接打开保存的jmx⽂件就⾏了。保存完了之后,我们再右击“线程组”——“添加”——“Sampler”——“http请求”,哎,刚刚不是添加过了吗?刚刚那个不是哦,刚刚那个只是默认值,只是⽤来设置⼀些默认配置,真正发起请求的是“http请求”,在http请求⾥⾯我们在“路径”⾥⾯输⼊斜杠“/”就⾏啦,表⽰默认路径,IP那⼀栏就不⽤输⼊了,为什么呢?因为在http请求默认值⾥⾯已经输过啦,以后可以新建多个http请求,只要修改路径就⾏了,这样就可以访问同⼀个⽹站的不同页⾯,这就是“http请求默认值”的意义所在,把⼀些共⽤的设置写⼀遍就好了。接着,我们再右击“线程组”——“添加”——“”——“察看结果数”,在这⾥可以查看到http请求和结果。每次新建组件和修改配置信息都要点击保存,好了,页⾯配置图如下所⽰:
现在我们点击⼯具栏的绿⾊运⾏按钮,就可以在“察看结果树”中看到结果了
我们新建的“http请求”返回结果200,表明请求成功,从绿⾊打钩也能看出,上图中的下拉列表框可以选择显⽰格式,我们选择HTML,切换到“响应数据”就可以看到返回页⾯,也就是百度⾸页。
步骤三设置线程并发数
刚刚我们完成了⼀个简单的测试,你也应该感觉到⾃⼰啥也没⼲,就能测试了,其实不然,我们点击“
线程组”可以看到线程组的设置页⾯,默认设置1个线程,1秒启动,循环1次。线程数表⽰启动多少个线程,Ramp-Up Period表⽰花多长时间启动所有线程,循环次数表⽰每个线程的执⾏次数,例如,我设置线程数10,Ramp-Up Period为10,循环次数2,表⽰软件将在10秒内启动10个线程,也就是1秒启动1个线程,每个线程执⾏两次请求。
此外,我们还可以勾选“调度器”,⽐如我填⼊持续时间100,启动延迟0,将循环次数勾选“永远”,表⽰线程⽴即启动,执⾏100秒后停⽌,注意,如果设置了持续时间和启动延迟,那么下⾯的启动时间和结束时间就不起作⽤了,也就不⽤管了,点击运⾏即可。
步骤四设置其他
之前我们仅仅设置了“察看结果树”这个,我们右击“线程组”——“添加”——“”,⾥⾯有好多可供选择,⽐如图形结果,⽤表格查看结果,聚合报告等等,这些都是反映测试过程的指标数据。图形结果以图形的形式显⽰吞吐量、偏移、平均值等信息,表格结果显⽰每⼀次请求的时间,返回,发送字节数,连接时间等等,聚合报告⾥⾯显⽰总体请求的吞吐量,错误率等等。下图为表格结果的样式。
可以看出,图中显⽰了20个Http请求,分别由10个线程执⾏,每个线程执⾏两次,正好符合我们对于线程组的设置。图中每⼀列的含义分别表⽰请求序号,开始时间,线程序号,请求名,请求所花的时间,请求状态,请求字节数,发送字节数,等待时长,连接时间。
聚合报告如下图所⽰,每⼀列的含义分别表⽰请求名称,请求总数,请求的平均响应时间(毫秒),50%的请求的响应时间,90%的请求的响应时间,95%的请求的响应时间,99%的请求的响应时间,最⼩的响应时间,最⼤的响应时间,错误的请求率(错误请求数/总的请求数),吞吐量(每秒处理的请求数),接收的字节速率,发送的字节速率。
步骤五登录测试
前⾯我们测试的页⾯是不需要登录的,现在我们来测试⼀下登录操作,由于登录操作涉及到具体的内部⽹址和参数,我这⾥就⽤⼀般⽹址和参数代替,但是⽅法是⼀样的,例如,我们内⽹IP是
1.1.1.1,登录页⾯是1.1.1.1/login.do,我们将1.1.1.1填⼊“http请求默认值”,将/login.do填⼊“http请求”的路径⾥⾯,关于登录需要的参数我要特别说明⼀下,⼀般来说就是⽤户名和密码,但是往往还需要其他参数,我们可以通过抓包⼯具Fiddler进⾏抓包,我们在⽹站中进⾏⼀次正常登录,可以在Fiddler中看到登录需要的post参数,例如Fiddler中显⽰登录操作post参数有username,password,type,那么需要在“http请求”⾥⾯填⼊,下图所⽰。
点击“添加”按钮就可以添加参数了,保存好后,我们点击运⾏,就可以在察看结果树中看到登录成功后的页⾯了,具体的操作和前⾯⼀样的。
步骤六会话保持
我们进⼊登录后的页⾯后,我还想访问例如“我的账户”,“我的信息”等模块怎么办,这些⽹页需要登录成功后才能访问到,这⾥我们就需要进⾏会话的保持,我们右击“线程组”——“添加”——“配置元件”——“httpcookie管理器”,要添加的内容我们可以在察看结果树的“请求”选项卡⾥⾯看到,⾥⾯可以看到登录需要的cookie,例如JSESSIONID,我们将JSESSIONID填⼊cookie管理器的参数⾥⾯,如下
此时,我们在http请求⾥⾯输⼊登录后的页⾯⽹址,例如“我的信息”等等,就可以请求成功啦。
步骤七⽂件读取⽹址
我们在“http请求”的路径⾥⾯填⼊的是我们要访问的⽹页,每次只能填⼀个,假如我想访问好⼏个⽹页,例如⾸页,通知页,公司介绍页等等,除了新建http请求外,我们还可以将这些⽹页的地址存储在TXT⽂件⾥,例如,我要访问1.1.1.1/index.do,1.1.1.1/information.do,1.1.1.1/company.do,我们可以这样
⽹址填⼊后,我们在Jmeter⾥⾯的“选项”——“函数助⼿对话框”——“StringFromFile”,将TXT的完整路径贴到图中位置,点击⽣成,可以在框⾥⽣成TXT⽂件的读取路径。

本文发布于:2024-09-20 13:24:06,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/87137.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:请求   结果   线程   登录   时间   测试   设置
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议