文档章节

使用 jmeter 做性能测试

-10
 -10
发布于 2015/02/04 18:16
字数 1155
阅读 164
收藏 4

http://hushi55.github.io/2015/01/08/jmeter-perf-test

相关软件安装

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。(摘自百度百科)

jmeter 有一个好搭档,那就是 badboy。 Badboy 是一款不错的 Web 自动化测试工具,如果你将它用于非商业用途,或者用于商业用途但是安装 Badboy 的机器数量不超过 5 台,你是不需要为它支付任何费用的。也许是一种推广策略, Badboy 提供了将 Web 测试脚本直接导出生成 JMeter 脚本的功能,并且这个功能非常好用,也非常简单。

你可以下载这两个软件

jmeter 安装直接解压,我们安装 java 软件时最好不要安装的 path 有中文和空格,这样可以避免一些不必要的错误。badboy 的安装就和一般的 windows 安装一样。

测试案例

现以测试 kdtest.kdweibo.cn公网测试环境发送微博为列子,详细说明如何使用 badboy 和 jmeter。

录制脚本

安装上述软件后,打开 badboy

输入 kdtest.kdweibo.cn,进入云之家首页,点击上图中的录制按钮,开始录制脚本。

输入用户名和密码,点击登录。

输入发送的微博,点击发送,发送成功后,点击录制脚本按钮,停止录制。

点击 file 菜单,选择 Export to Jmeter 导出 Jmeter 脚本,命名为 测试发送微博.jmx(后缀自动添加)。

脚本处理

在 Jmeter 安装目录下,点击 bin/jmeter.bat 打开 jmeter

点击文件 --> 打开,刚才用badboy 录制的脚本测试发送微博.jmx

裁剪不需要测试的 url ,这次测试需要保留

其余的可以删除。

因为 登陆操作 只需要执行一次即可,添加一个逻辑控制单元:

如图所示,在 Thread group 上点击右键,添加,逻辑控制器,仅一次控制器。命名为登陆,并且将 http://kdtest.kdweibo.cn/space/c/rest/user/login 拖入其中。

修改 step 控制器名称为 发送微博,并且勾选循环次数为永远。将 登录 这个控制器移动到发送微博控制器之 ,结果如图所示:

点击选中 Thread Group 修改线程数为 100,代表同时有 100 个用户并发访问。修改 Ramp_Up Period 为 50 代表这 100 线程会在 50 秒钟启动完毕,即每秒启动 2 个线程,循环次数,代表每个线程执行采样的次数。可以勾选永远,使其不停的才采样,如图:

点击 Test Plan 修改名称为 发送微博测试 右击 添加 --> 监听器,添加聚合报告,和察看结果树,这两个报告的作用分别为,察看结构树用来监控返回的结果是否符合预期,用来判断录制的脚本是否正确。聚合报告的作用为,统计这次测试的一些数据,如最大访问时间,最小访问时间,QPS 等。

jmeter 测试脚本

完成以上工作后,可以点击运行按钮,在本地验证脚本的正确性。如下图所示。

jmeter 中的内置函数

在测试中有可能会需要使用内置函数,如: 在 3 分钟内不能发送重复微博,这就不能在发送微博的文本中硬编码,可以在发送的文本中添加一个随机数,这时可以使用 ${__uuid()} 这样就能每次发送的消息都是不会相同。避免测试时不能重复使用。关于 Jmeter 内置的函数和变量,详情可以参考文档:

http://jmeter.apache.org/usermanual/functions.html

© 著作权归作者所有

-10

-10

粉丝 10
博文 10
码字总数 14996
作品 0
深圳
高级程序员
私信 提问
JMeter和LoadRunner的异同

Notes:最近几天一直在搞测试软件,相继搞了LoadRunner和JMeter,现在和大家分享一下JMeter和LoadRunner的异同 Jmeter和LoadRunner的异同   1、Jmeter的架构跟LoadRunner原理一样,都是通过...

JavaOlder
2013/03/14
1K
0
JMeter学习-003-JMeter与LoadRunner的异曲同工

本节主要对 JMeter 与 LoadRunner 的优缺点进行概要的总结,若有不足之处,敬请指正,不胜感激! 同时,我也不得不承认,在对 JMeter 和 LoadRunner 进行比较时,我个人的确偏向了 JMeter(免...

拎壶冲冲冲
2018/06/26
0
0
JMeter学习-001-JMeter初识

Apache JMeter是Apache组织开发的基于Java的开源压力测试工具(个人发现也可用于接口测试)。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试...

拎壶冲冲冲
2018/05/29
0
0
使用JMeter的Java请求功能测试Hetty性能

1.JMeter介绍 JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、java对象、数据库...

夕水溪下
2012/10/16
6.5K
3
jmeter--001.介绍、下载与安装

一.介绍 使用场景:   -1.接口测试   -2.性能测试   .... 特点:   -1.开源、轻量级、插件化   -2.适合自动化和持续集成 二.下载(Windows环境) 下载网址:http://jmeter.apache....

小红帽爱吃大灰狼
2018/07/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

x002-语言元素

变量命令规则 硬性规则: 变量名由字母(广义的Unicode字符,不包括特殊字符)、数字和下划线构成,数字不能开头。 大小写敏感(大写的a和小写的A是两个不同的变量)。 不要跟关键字(有特殊...

伟大源于勇敢的开始
今天
4
0
nginx反向代理配置

nginx配置文件位置/usr/local/nginx/conf/nginx.conf 配置文件修改: # cd /usr/local/nginx/conf # vim nginx.conf server {listen 80;server_name localhost;#charset k......

行者终成事
今天
5
0
OSChina 周日乱弹 —— 这是假的,和我之前的不一样

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 小小编辑推荐:《男孩》-梁博 / 陶孟童 / 肖和东 / 高誉容 《男孩》-梁博 / 陶孟童 / 肖和东 / 高誉容 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
15
1
Rust学习笔记一 数据类型

写在前面 我也不是什么特别厉害的大牛,学历也很低,只是对一些新语言比较感兴趣,接触过的语言不算多也不算少,大部分也都浅尝辄止,所以理解上可能会有一些偏差。 自学了Java、Kotlin、Python、...

MusiCodeXY
今天
5
0
Java 脚本引擎入门

Java Script Engine Java 脚本引擎可以将脚本嵌入Java代码中,可以自定义和扩展Java应用程序,自JDK1.6被引入,基于Rhino引擎,JDK1.8后使用Nashorn引擎,支持ECMAScript 5,但后期还可能会换...

阿提说说
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部