1) Jmeter4.0介绍
目前用的常用测试工具对比:
1, loadrunner:性能稳定,压测结果及细粒度大,可以自定义脚本进行压测,但是太过于重大,功能比较繁多 2、apache ab(单接口压测最方便):模拟多线程并发请求,ab命令对发出负载的计算机要求很低,既不会占用很多CPU、也不会占用太多的内存,但却会给目标服务器造成巨大的负载,,简单DDOS * * *等 3,webbench: webbench首先叉出多个子进程,每个子进程都循环做网络访问测试。子进程把访问的结果通过管告诉父进程,父进程做最终的统计结果。
2)特点
- <李>
提供GUI图形界面和非GUI界面进行压测,在windows下面进行开发测试压测脚本,然后直接在linux上执行
李> <李>可以提供完整的动态HTML压测报告
李> <李>纯java编写,一次编写,四处压测
李> <李>多线程框架允许通过多个线程同时进行采样压测,并通过单独的线程组同时采样不同的功能
李> <李>提供高度可扩展的功能,自定义插件:
李> <李>提供函数可用于为测试提供动态输入或提供数据操作。
李> <李>通过Maven, Graddle和詹金斯的第三方开源库轻松持续集成
李>3)准备工作
本:核心可执行文件,包含配置 ,,,,,jmeter.bat:, windows启动文件: ,,,,,jmeter:, mac或linux者启动文件: ,,,,,jmeter-server: mac或者Liunx分布式压测使用的启动文件 ,,,,,jmeter-server.bat: mac或者Liunx分布式压测使用的启动文件 ,,,,,jmeter.properties:,核心配置文件 ,,,,,例子:压测脚本文件JMX和动态读取csv参数文件案例result-template:可视化HTML ,,,,,模板:JMX的模板文件 文档:Jmeter的API文档 配件:插件拓展的包 自由:核心的依赖包 ext:核心包 junit:单元测试包
5) Jmeter核心组件介绍
什么是测试计划(测试计划)?
<>之前,,,,就是压测的一个流程,比如压测什么接口,并发多少用户,协议等等,在测试计划下面配置线程组,采样器,监听器等组件什么是线程组(线程组)?
线程组就是模拟多少用户并发访问你的应用,这个组里面共有多少用户,创建方法如上图现在“添加→线程→线程组” ,,,参数说明: ,,,线程数:虚拟用户数。一个虚拟用户占用一个进程或线程 ,,,准备时长(Ramp-Up 周期(秒)拷贝):全部线程启动的时长,比如100个线程,20秒,则表示20秒内100个线程都要启动完成,每秒启动5个线程,,,, ,,,循环次数:每个线程发送的次数,假如值为5100个线程,则会发送500次请求,可以勾选永远循环
真正干活的组件,采样器里面配置你要压测的接口,协议,参数等 可以创建各种采样器,如Http请求,FTP请求,JDBC压测数据库请求、JMS等,对应的采样器有不同的配置 以http请求采样器为例 名称:采样器名称,一般是接口名称,方便后续进行区分,比如“登录接口” 注释:采样器的描述,方便别人理解,类似压测接口描述 web服务器配置 协议:压测的协议,比如“http”或者“https" 服务器名称或IP:压测目标机器的端口或者服务器IP地址,比如,www.xdclass.net 端口号:压测目标机器的端口号,比如,8080 HTTP请求配置 方法:http的请求方法,常用的有,,,删除、补丁等 路径:压测的接口的URL,比如,/api/v1/用户 Content 编码:是否进行内容编码 302年自动重定向:http有状态码返回的时候,重定向,但不会产生记录,不可以做关联请求, 比如比如第二个请求要用到第一个请求的数据,则选择自动重定向无法做关联 跟随重定向:会产生记录,可以做关联,默认勾选这个 Use 多部分/from-data for  HTTP POST :当发送帖子请求时,使用Use 多部分/从数据方法发送,默认不选中。 参数:参数配置 Files 上传:文件上传配置分布式压测系列之Jmeter4.0第一季