文档章节

使用JMeter做web应用的压力测试

猪刚烈
 猪刚烈
发布于 2014/10/12 11:40
字数 958
阅读 25
收藏 0
点赞 0
评论 0

本文转自: http://www.cnblogs.com/super119/archive/2011/01/13/1935017.html这篇文章讲解了普通的web压力测试的配置方法.

和HttpUnit不同,JMeter是做压力测试的,而且JMeter不仅可以对web应用做测试,也可以对FTP服务器、LDAP服务器等进行测试。本文讲述如何使用JMeter来给web应用做测试 

首先是新建一个TestPlan和一个ThreadGroup,然后在里面加上各种各样的组件,也就是说,搞明白了JMeter的这些组件,测试就能做了,所以首先给出我本次测试EasyCluster的TestPlan文件: 

更直观一些,这里有张截图: 


首先我们新建一个ThreadGroup,Number of Threads表示模拟多少个用户来进行测试;Ramp-up Period表示多长时间把所有的Thread启完,也就是说,隔Ramp-up Period/Number of Threads就启动一个Thread;Loop Count表示一个Thread发出多少次测试请求,对于我们的web应用来说,就是发出多少次Http Request。 

然后添加一个 Http Request Defaults,有了这个,就不需要每次都在Http Request里面填server ip和port了,方便一些;然后添加一个Cookie Manager,对于某些使用cookie来实现session的应用来说,这是必须的;然后我们添加一个Once Only Controller,这是一种逻辑控制器,表示在该控制器下的Http Request,每个Thread只做一次,不会循环loop,所以,我们把主页和登录Action放在了这个下面;最后新建一个Interleave Controller(交替控制器),这也是一种逻辑控制器,表示在该控制器下的Http Request,Thread会依次执行,而不是乱序执行。还有一种情况就是,如果Thread反复执行同一个Http Request的话,web server会有cache,所以这种测试不理想,使用这种交替控制器,每次给web server的请求就不一样,所以效果会好一些,特别对于“搜索信息”这种功能来说很实用;最后加一个表格查看工具,这属于listener组件,在这个组件中可以定义输出文件的路径和名称,没有这个组件,JMeter是没有输出的,呵呵。在这个组件里可以以表格的方式看测试request和是否 success。 

最后还要配置一个最重要的部件,就是URL rewriting modifier,因为tomcat的session实现不是通过cookie的,而是通过session id的,就是说,用户登录有了session之后,tomcat就会维护一个session id,然后每次request的时候,要求每个http request的URL都要带上这个session id,就OK了!所以,我们新建一个HTTP URL Re-writing Modifier,然后在他的属性里面需要填写一个“Session Argument name”,因为tomcat中,使用URL Re-writing mode,URL是这样的:http://192.168.0.2:8080/easycluster/Login.ec;jsessionid=B1A75F512FB84EF0D52091D2ADE91491 

,所以,这里我们需要在这一项中填写“jsessionid”,JMeter就会到URL里面按照这个参数去把上面那个session id抓下来,然后每次request都带上这个东东;需要注意,这里还要将“Path Extension(use ";" as separator)”勾上,因为如上,tomcat的URL Re-writing中session id是以分号的方式加在URL上的,所以需要勾上这个选项,有些web server这个session和普通的URL parameter一样,是以?和&这种方式加上去的,这种情况下这个checkbox就不用勾了! 

一切就绪了,选择run就开始测试了!此外,如果在Test Plan中选中“Function Test Mode”这个checkbox的话,JMeter就会记录每次请求获得的HTML代码,这会非常影响性能,但对于第一次测试,要测试我们的配置是否正确了,这也是有用的。



本文转载自:http://blog.csdn.net/bluishglc/article/details/9411593

共有 人打赏支持
猪刚烈
粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
JMeter学习-001-JMeter初识

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

拎壶冲冲冲
05/29
0
0
JMeter学习-003-JMeter与LoadRunner的异曲同工

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

拎壶冲冲冲
06/26
0
0
JMeter和LoadRunner的异同

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

JavaOlder
2013/03/14
0
0
开发人员学Linux(4):使用JMeter对网站和数据库进行压力测试

前言 表面看来,JMeter与本系列课程似乎关系不大,但实际上在后面的很多场景中起着重要作用:如何获知修改了某些代码或者设置之后系统性能是提升了还是下降了呢?商业的压力测试工具LoadRun...

周金桥
06/29
0
0
开发人员学Linux(4):使用JMeter对网站和数据库进行压力测试

前言 表面看来,JMeter与本系列课程似乎关系不大,但实际上在后面的很多场景中起着重要作用:如何获知修改了某些代码或者设置之后系统性能是提升了还是下降了呢?商业的压力测试工具LoadRun...

周金桥
2017/11/06
0
0
五.jmeter代码学习(2)

使用JMeter做压力测试 1.下载Jmeter 地址:http://jmeter.apache.org/downloadjmeter.cgi 2.启动jmeter 运行bin/jmeter.bat 3.添加线程组 在TestPlan节点上右键,Add-->Threads(Users)-->......

木子木
2014/03/24
0
1
JMeter的介绍和脚本录制以及对WEB进行测试

注释:图片省略,大家如果哪里有疑问,可以留言来讨论。 1.JMeter介绍 到JMeter的网站http://jakarta.apache.org/site/downloads/downloadsjmeter.cgi 下载JMeter的最新版本,将zip文件解压缩...

JavaOlder
2013/03/13
0
0
通过一个实例掌握测试工具JMeter的一些基本概念

JMeter主要是一个用于load/stresstest的工具。由于它具有一套专门的术语和概念,对于我等不是专门做测试的人员来说初次使用它时确实有点无从下手的感觉。只有搞清楚了它的几个基本概念,用起...

今幕明
2015/03/28
0
0
自定制jmeter多维度报告-华山

一.为什么谈这个新特性 在JMeter3.0之前,官方只提供在工具的UI上对测试结果部分维度的图形化展示,这对我带来了两方面的困扰: 在实际使用中,在平台中集成JMeter后需要页面展示TPS曲线,平...

32氪
06/26
0
0
apache-jmeter-3.1的简单压力测试使用方法

apache-jmeter-3.1的简单压力测试使用方法 2017年02月15日 10:39:49 阅读数:13987 压力测试工具LoadRunner是收费的,而且操作复杂。作为开发人员当然是用apache提供的jmeter,免费容易上手。...

linjin200
06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Mybatis收集配置

一、Mybatis取Clob数据 1、Mapper.xml配置 <resultMap type="com.test.User" id="user"> <result column="id" property="id"/> <result column="json_data" property="jsonData" ......

星痕2018
19分钟前
0
0
centos7设置以多用户模式启动

1、旧版本linux系统修改inittab文件,在新版本执行vi /etc/inittab 会有以下提示 # inittab is no longer used when using systemd. # # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON......

haha360
50分钟前
0
0
OSChina 周日乱弹 —— 局长:怕你不爱我

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ andonny :分享周二珂的单曲《孤独她呀》 《孤独她呀》- 周二珂 手机党少年们想听歌,请使劲儿戳(这里) @孤星闵月 :没事干,看一遍红楼梦...

小小编辑
56分钟前
127
8
Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式 Factory工厂模式 Singleton单例模式 Delegate委派模式 Strategy策略模式 Prototype原型模式 Template模板模式 Spring5 beans 接口实例化 代理Bean操作 ...

小致dad
今天
0
0
SpringBoot | 第十章:Swagger2的集成和使用

前言 前一章节介绍了mybatisPlus的集成和简单使用,本章节开始接着上一章节的用户表,进行Swagger2的集成。现在都奉行前后端分离开发和微服务大行其道,分微服务及前后端分离后,前后端开发的...

oKong
今天
10
0
Python 最小二乘法 拟合 二次曲线

Python 二次拟合 随机生成数据,并且加上噪声干扰 构造需要拟合的函数形式,使用最小二乘法进行拟合 输出拟合后的参数 将拟合后的函数与原始数据绘图后进行对比 import numpy as npimport...

阿豪boy
今天
17
0
云拿 无人便利店

附近(上海市-航南路)开了家无人便利店.特意进去体验了一下.下面把自己看到的跟大家分享下. 经得现场工作人员同意后拍了几张照片.从外面看是这样.店门口的指导里强调:不要一次扫码多个人进入....

周翔
昨天
1
0
Java设计模式学习之工厂模式

在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了。 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低耦合度。之...

路小磊
昨天
245
1
npm profile 新功能介绍

转载地址 npm profile 新功能介绍 npm新版本新推来一个功能,npm profile,这个可以更改自己简介信息的命令,以后可以不用去登录网站来修改自己的简介了 具体的这个功能的支持大概是在6这个版...

durban
昨天
1
0
Serial2Ethernet Bi-redirection

Serial Tool Serial Tool is a utility for developing serial communications, custom protocols or device testing. You can set up bytes to send accordingly to your protocol and save......

zungyiu
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部