1.JMeter整体简介

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

   

2.什么是压力测试

压力测试,就是被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定(资源占用情况);比如: 2000个用户同时到一个购物网站购物,这些用户打开页面的速度是否会变慢,或者网站是否会奔溃。

3.做压力测试的步骤

1. 写脚本 或者录制脚本

2. 使用用户自定义参数

3. 场景设计

4. 使用控制器,来控制模拟多少用户

5. 使用监听器, 查看测试结果

4.一个简单的测试流程

4.1.添加线程组

右键左边树中的测试计划,“添 加”--->”线程组”,添加一”线程组”

线程数:一个用户占一个线程,200个线程就是模拟200个用户。

Ramp-Up Period(in seconds): 设置线程需要多长时间全部启动;如果线程数为200 ,准备时长为10 ,那么需要1秒钟启动20个线程。也就是每秒钟启动20个线程。

循环次数: 每个线程发送请求的次数;如果线程数为200 ,循环次数为10 ,那么每个线程发送10次请求。总请求数为200*10=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本。

4.2添加取样器(sampler)

右键左边树中的线程组,“添 加”--->”Sampler”,添加一”各种形式的请求”

4.3添加监听器(sampler)

右键左边树中的线程组,“添 加”--->”监听器”,添加一”各种形式的测试结果”(最常用的测试结果为“查看结果树”、“聚合报告”,其中“查看结果树”是用来辅助脚本调试的,)

5.使用badboy录制jemter脚本

jemter脚本一般有两种录制方式:1.使用badboy录制;2.使用代理的方式录制

5.1,使用badboy录制脚本

脚本录制的流程与思路:业务流程->录制工具->脚本制作->性能测试。

badboy主页面

本次展示的流程是登录BugFree,新建并提交bug;步骤:1.在地址栏中输入BugFree的地址,然后在视图区完成“新建并提交bug”操作。

2.点击工具栏中的“红点”button结束脚本的录制

3.点File->Export to JMeter,把刚才得到的脚本导出为Jmeter可识别的jmx格式的文件

5.2,JMeter运行badboy脚本

步骤:1.用jmeter打开jmx文件;效果如下图,其中Step中的步骤是和badboy对应的

2.添加“查看结果树”;目的是辅助完成脚本的调试

最新文章

  1. 【JSOI2007】【Bzoj1029】建筑抢修
  2. for..in遍历,枚举器
  3. The POM for XXX:jar:${com.ld.base.service.version} is missing, no dependency information available
  4. [NOIP2010初赛]烽火传递+单调队列详细整理
  5. 结合使用saiku、mondrian workbentch建立多维查询报表
  6. 输入 cc -c 指令出现问题
  7. 【总结】学习Socket编写的聊天室小程序
  8. TYVJ P1007 排座椅 Label:多想想输出 水
  9. YTU 2618: B 求类中数据成员的最大值-类模板
  10. in command-line: path> mvn eclipse:clean path> mvn -Dwtpversion=1.5 eclipse:eclipse path> mvn eclipse:eclipse in eclipse: Project / clean...
  11. 排序算法_MergeSort
  12. linux系统中whereis的用法详解
  13. mvc4 基于Area实现插件模块化开发
  14. HttpApplication事件执行顺序(转)
  15. 5.7.1.3 Global 对象的属性
  16. Python 第一课笔记
  17. java变量初始化
  18. php7+apache2.4配置
  19. 使用java类破解MyEclipse
  20. -1-6 java 异常简单介绍 java异常 异常体系 Throwable 分类 throws和throw 异常处理 自定义异常

热门文章

  1. HTML学习 day03
  2. 一文解读DevOps工具链 (转)
  3. liteos MMU(十八)
  4. [Go] vscode配置Go环境
  5. appium---uiautomator定位方法
  6. C学习笔记(10)--- 强制类型转换,错误处理,递归
  7. java面试填坑解惑篇
  8. 使用 IDEA 翻译插件
  9. Appium左右、上下滑动(Java)
  10. Linux 中find命令