如何做压力测试

如何做压力测试,第1张

一个压力测试的流程:

1、明确测试目标

2、制定测试计划

3、实施测试,收集参数

4、分析测试结果

5、给出优化方案

一 、明确测试目标:如果是客户的需求,那需要向客户确认,有清楚的性能指标参数,测试时就是保证系统达到该指标并能良好运转,即压力测试。如果是自己的系统需要有一个评估,那就需要完整迹羡山的得到该系统的几个临界点,拿到完整的性能曲线,从而来分析部署情况,即为性能测试。不管是哪个,知道了需求,才能制定计划。

性能测试的目标是发现重大的系统瓶颈。你可以想象一个系统由一系列的瓶颈组成;发现并改善一个瓶颈往往会在其他地姿中方产生一个新的瓶颈。例如,我曾为一运行微软Windows CE的器件部门工作。我们发现的第一大性能问题体现在某一具体硬件环境下的内存管理中。我们把问题分离出来,改善了内存分配的效率。尔后再次运行我们的测试,又找到了一个新的瓶颈,这次体现在网络吞吐量上(throughput)。解决了这个问题后,我们接着又为下一个瓶颈改善而工作,然后再下一个,直到整个系统都达到了性能目标。要记住的是:关键在于要尽早订立性能目标,否则你可能不知道什么时候该停止性能测试。

二、制定测试计划:确定使用什么工具,着重哪些参数,设置线程数,方法执行次数,执行时间,是否多个接口同时进行测试等等。

三、实施测试,收集参数:选一个施压工具,来向部署好的服务发起高并发请求,同时关注和收集性能参数。这个是我们花费时间最多的地方。通常该阶段需要反复执行,来得到想要的数据。通常来说,我们可以使用JMeter LR AB 自己写多线程等各种方式,之后介绍一下JMeter。

四、分析测试结果:即根据上一节的参数派虚介绍来进行参数分析。

五、给出优化方案:如果是代码逻辑耗费cpu,就优化算法;如果是redis等数据库耗时,就增加节点,减少读取,读写分离,使用内存等;如果是外在条件限制,则与外部们沟通问题,共同优化等等。

jmeter压力测试方法:

品牌型号:华硕UX30K723A

系统版本:win7

软件版本:apache jmeter v3.1官方版

1、打开JMeter,更改语言为中文,官方默认为我们提供了简体中文。通过 【Options】->【Choose Language】变更为简体中文,如下图所示:

2、创建线程组。在“测试计划”上右键 【添加】-->【Threads(Users)】-->【线程组】,如下图所示:

3、设置线程数和循环次数。我这里设置线程数为500,循环一次,如下图所示:

4、配置元件。在我们刚刚创建的线程组上右键 【添加】-->【配置元件】-->【HTTP请求默认值】,如下图所示:

5、配置我们需要进行测试的程序协议、地址和端口,如下图所示:

6、构造HTTP请求。在“线程组”右键 【添加-】->【samlper】-->【HTTP 请求】设置我们需要测试的API的请求路此扰哪径和数据。我这里是用的json,如下图所示:

7、添加HTTP请求头,在我们刚刚创建的线程组上右键 【添加】-->【配置元件】-->【HTTP信息头管理器】。因为我要森码传输的数据为json,所以设置一个 Content-Type:application/json,如下图所示:

8、添加断言。在我们刚刚创建的线程组上右键 【添加】-->【断言】-->【响应断言】李态。根据响应的数据来判断请求是否正常。我在这里只判断的响应代码是否为200。还可以配置错误信息,如下图所示:

9、添加察看结果树,在我们刚刚创建的线程组上右键 【添加】-->【监听器】-->【察看结果树】。直接添加,然后点击运行按钮就可以看到结果了,如下图所示:

10、添加Summary Report。在我们刚刚创建的线程组上右键 【添加】-->【监听器】-->【Summary Report】。直接添加,然后点击运行按钮就可以看到结果了,如下图所示:

11、执行测试计划,执行测试计划不能用GUI,需要用命令行来执行,如下图所示:

我这里执行的命令为:

jmeter -n -t testplan/RedisLock.jmx -l testplan/result/result.txt -e -o testplan/webreport

说明:

testplan/RedisLock.jmx 为测试计划文件路径testplan/result/result.txt 为测试结果文件路径testplan/webreport 为web报告保存路径。

12、Web报告,如下图所示:

如何用Jmeter做压力测试

 

Jmeter是一个性能测试工具,同loadrunner类似,他功能较多,我们常用的功能是用jmeter模拟多浏览器对网站做压力测试。

下载jmeter地址 :http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi

我们一般的网站,在进入业务功能前先需登录,然后才能访问业务功能。下面介绍如何用jmeter登录系统再对主业务做压力测试。

1. 运行jmeter

2. 左边树将出现测试计划、工作台两根节点。

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

线程组能设置以多少个线程并发做压力测试。

在”循环次数”设置不选择永远,循环次数设置1。

4. 现在先介绍如何设置登录http请求,选择线程组,右键――添加――》sampler-―》http 请求。

http请求即模仿浏览器的访问。

在“服务器名称或ip”设置127.0.0.1,端口号设置:8080,“方法”设置post,路径设置网站登录的地址,如“/exam/operatorAction”。

登录需传入用户、密码。在“同请求一起发送参数”列表中添加参数。参数值根据web应用设置。如login_user=0001login_password=1actFlag=login

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

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

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

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

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

7.2 选择刚加的“循环控制器”,右键――》添加――》sampler-―》http 请求,按4步骤设置ip、端口,http请求方法为“get”,路径为被压力测试的url,如:“exam/business/studentExam.action.StudentExamAction?action=goIntoMockExam”。

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

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

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

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

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8244340.html

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

发表评论

登录后才能评论

评论列表(0条)

保存