jmeter模拟对网站做压力测试

jmeter模拟对网站做压力测试,第1张

一般的网站,在进入业务功能前先需登录,然后才能访问业务功能。基本框架如下

详细步骤:

1 .用badboy录制登录,访问随意一个网址。

2.用jmeter打开,一会自己写的时候可以参考里面的参数名称或路径什么的。如果对http熟悉可以省略这两部直接写脚本

3.新建一个线程

选择 测试 计划,按右键-》添加-》threads(users)线程组

线程组能设置以多少个线程并发做压力测试。在”循环次数”设置不选择永远,循环次数设置1。

4.设置登录http请求,选择线程组,右键――添加――》sampler-―》http 请求。

在“服务器名称或ip”设置localhost或网址,端口设置:80,“方法”设置post,路径设置网站登录的地址。登录需传入用户、密码。在“同请求一起发送参数”列表中添加参数。参数值根据web应用设置。如login_user=0001login_password=1actFlag=login。具体怎么设置可以拷贝刚才录制的内容。

5.登录成功后,网站一般将跳入主页面。在jmap中可做判断,判断是否登录后按预想进入主页面(此步骤也可不设)。选择4中的“http请求“,右键――》添加――》断言――》响应断言。“Apply to”设置Main smaple only;“要测试的响应字段”设置“url样本”;“模式匹配规则”设置“包括”,“要测试的模式”增加页面跳转到的主页面

6.一般网站登录后,在tomcat中生成了session,之后访问其他页面将无需再次登录,前提是浏览器需支持cookie。在jmap中也同样,如要继续访问其他页面,还需做下面关键的设置。

选择“线程组”――》右键――》添加――》配置元件――》Http cookie管理器。加了此步骤后,http请求将具备cookie功能,即登录成功后访问其他页面将不会跳转到登录页面重新登录。

7.对目标页面反复压力测试。

7.1 如何使被测页面反复访问达到测压效果。选“线程组”―》右键――》逻辑控制器――》循环控制器。循环次数中选择“永远”。

7.2 选择刚加的“循环控制器”,右键――》添加――》sampler-―》http 请求,按4步骤设置ip、端口,http请求方法为“get”,路径为被压力测试的url

按上面的设置后,已完成配置,可做压力测试。只需点菜单“运行”――》启动,即运行压力测试。

8.jmeter提供了许多压力结果查看工具。是压力测试时非常好的分析工具。下面几种查看工具可有选择的添加。

8.1 察看结果树。他记录每次请求发送数据、响应返回数据。选择“线程组”――》右键――》添加――》察看结果树。

8.2 用表格查看结果。可查看每次请求的响应时间等。选择“线程组”――》右键――》添加――》用表格查看结果。

8.3 Summary Report。可查看平均响应时间、最长响应时间等。

web压力测试通过产生真实压力来发现问题需要关注以下方面:

1、对要测试的系统进行分析,明确需要对哪一块做压力测试。比如:淘宝网站双十一期间,秒杀跟支付,此模式用户操作中占比比较大

再比如:游戏,登录--开始战斗--结束战斗这种混合模式在用户操作中占比较大

那么就可以针对这种占比比较大的模式进行压力测试

2、明确了要测试的点后,如何对这些测试点进行施压呢?

第一种方式可以通过写脚本产生压力机器人对服务器进行发包收包操作;

第二种方式就是借助一些压力测试工具如:JMeter或LoadRunner

3、如何对这些测试点进行正确的施压呢?

那么就需要用压力测试工具或者其它方法来录制脚本,模拟用户的操作

4、对测试点该施加多大的压力比较合适?该施加多少的数据才能找出系统的瓶颈?

那么就需要明确压力测试所限制的数量,即用户并发量,这里分3种情况来明确:

1)根据上级的明确规定数量,来设定最确大值,然后根据情况往上或往下增减

2)上级未规定,由自己判断,从1开始慢慢递增。如:1,5,10,20等等

3)若做过压力测试,则可以根据上次的压力测试结果为基数进行测试

5、测试完之后,如何通过这些数据来定位性能问题呢?

虽然通过这些测试结果我们可以得到TPS(吞吐量),平均响应时间等这些数据,可判断出服务器是否存在问题,但却不能定位问题。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/34532.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-20
下一篇2023-02-20

发表评论

登录后才能评论

评论列表(0条)

    保存