用jmeter进行多用户并发压力测试 [转]
近日manager要求对项目进行压力测试,开始对jmeter进行了研究。jmeter是Apache一个开源项目,可对各种项目进行测试,甚至包括junit。
测试要求如下,多用户同时登陆web应用程序,并进行操作,查看在多用户操作下,程序的performence。恰好,jemter下有个CSV Data Set Config,它用来设定一组参数,以便在向程序发出请求时,传入参数。在进行压力测试以前,应先将操作过程记录下来。jmeter有个http prox serve,用它可以进行记录。但有个更好的软件,即badboy,如下图,
只要输入请求地址,便可将所有的操用步骤记录下来,导出jmeter的script,jmeter导入这个sccript就是一个工程了,可以在里面对其进行修改参数和添加新的断言,监听器等。多用户的参数文件就在这里设。
右键单击选择配置器,一一输入参数文件地址(便jmeter能找到的路径),变量名称(参数引用时就是引用这个变量,用${变量名}进行引用,),参数分隔符(在参数文件中,参数以一行为一组参数,其间可用;,
等隔开,如是tab,用/t),recycle on EOF(文件结束后是否要循环),stop thread on EOF(文件结束是否中止线程)。一般来讲,如有n组参数,线程数就设为n,如下图,
可在操作中添加一些断言,看参数是否用上了,比如一个登陆界面,传入用户名和密码,这个请求完成后,可对response页面内容进行断言。
在使用Jemeter做压力测试的时候,往往需要参数化用户名,密码以到达到多用户使用不同的用户名密码登录的目的.这个时候我们就可以使用CSV Data Set Config实现参数化登录:
首先通过Test Plan或者Thread Group的Add->Config Element->CSV Data Set Config添加
以下是CSV Data Set Config各个参数的简要说明:
- FileName:即同目录下csv文件的名称
- File Encoding: 默认为ANSI
- Varible Names: 定义文本文件中的参数名,参数之间逗号分隔.定义后可在脚本在以Shell变量的同样的方式引用
- Allow Quoated data: 双引号相关
- Recycle on EOF: 设置为True后,允许循环取值
- Stop Thread on EOF: 当Recycle on EOF为false并且Stop Thread on EOF为true,则读完csv文件中的记录后,停止运行
- Sharing Mode: 设置是否线程共享
设置2个线程去运行,结果如下:
成功读取CSV中的参数.
最后,我们需知Jmeter还有如下方式可以进行参数化:
- User Defined Varibles: 一般对不需要改变的参数进行
- User Parameters:
- 通过系统函数: Options->Function Helper Dialog,通过自己输入参数值,点击"Generate" 按钮产生
用jmeter进行多用户并发压力测试 [转]的更多相关文章
- 用jmeter进行多用户并发压力测试
测试要求如下,多用户同时登陆web应用程序,并进行操作,查看在多用户操作下,程序的performence.恰好,jemter下有个CSV Data Set Config,它用来设定一组参数,以便在向程 ...
- Windows和Linux的Jmeter分布式集群压力测试
Windows的Jmeter分布式集群压力测试 原文:https://blog.csdn.net/cyjs1988/article/details/80267475 在使用Jmeter进行性能测试时, ...
- JMeter (3) —— JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial)
JMeter (3) -- JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial) 主要内容 JMeter录制脚本并进行压力测试用户登陆场景,并以CAS SSO单点 ...
- 学习总结——JMeter做http接口压力测试
JMeter做http接口压力测试 测前准备 用JMeter做接口的压测非常方便,在压测之前我们需要考虑这几个方面: 场景设定 场景分单场景和混合场景.针对一个接口做压力测试就是单场景,针对一个流程做 ...
- Jmeter教程 简单的压力测试
Jmeter教程 简单的压力测试:http://www.cnblogs.com/TankXiao/p/4059378.html
- 转:使用 JMeter 完成常用的压力测试
使用 JMeter 完成常用的压力测试 就目前 Java EE 的平台下开发的软件来说,这种节点通常可能是:Web 服务器.数据库服务器和 JMS 服务器.它们都是请求主要发生的地点,请求频率较其它的 ...
- 【转】使用JMeter 完成常用的压力测试(三)
使用JMeter 完成常用的压力测试 发布时间: 2008-9-27 15:33 作者: 未知 来源: 网络转载 字体: 小 中 大 | 上一篇 下一篇 | 打印 | 我要投稿 ...
- 【转】使用JMeter 完成常用的压力测试(二)
使用JMeter 完成常用的压力测试 Login.jsp 和welcome.jsp.其中 login.jsp 负责生成 User 对象,并调用 User 的login.当 login 返回为 true ...
- 使用ab 进行并发压力测试
使用ab 进行并发压力测试 - 参与商 - 博客园 https://www.cnblogs.com/shenshangzz/p/8340640.html 使用ab 进行并发压力测试 ab全称为:a ...
随机推荐
- Openstack命令收集
查看rabbitmq 队列 rabbitmqctl list_queues 查看keystone的用户 keystone user-list 查看keystone endpoint keystone ...
- php 前端获取数据
<pre name="code" class="python"><!doctype html> <html lang=" ...
- Windows Azure 上 Linux VM 中的交换空间 – 第 2 部分
本文章由 Azure CAT 团队的 Piyush Ranjan (MSFT) 撰写. 在前一篇文章 Windows Azure 上Linux VM 中的交换空间第 1 部分中,我介绍了在默认情况下, ...
- UBER人民优步司机注册攻略
注意:本文驾驶证行驶证图片为本人拍摄,请广大网友勿作它用 转载请修改! 详细的介绍注册优步uber司机端步骤; uber对司机的要求: 车辆为本地牌照 车龄在5年以内 裸车价格在10万以上 目 ...
- ios蓝牙开发(二)ios连接外设的代码实现
上一篇文章介绍了蓝牙的技术知识,这里我们具体说明一下中心模式的应用场景.主设备(手机去扫描连接外设,发现外设服务和属性,操作服务和属性的应用.一般来说,外设(蓝牙设备,比如智能手环之类的东西), 会由 ...
- EasyUI的使用步骤
(1) 将easyui-1.4.3中jquery.min.js\jquery.easyui.min.js复制到工程的script下 (2) 将themes复制到工程中 (3) 在页面中引入2个JS 2 ...
- C/C++修改常量的值
C/C++中常量修饰const可以用来保证一些确定的量不会被一不小心改变,比如PI,一直是3.14159...... 但是不排除有时候也会需要修改常量的值,通过直接修改是不能达到目的. 比如: #in ...
- 设计一个有getMin功能的栈
[说明]: 本文是左程云老师所著的<程序员面试代码指南>第一章中“设计一个有getMin功能的栈”这一题目的C++复现. 本文只包含问题描述.C++代码的实现以及简单的思路,不包含解析说明 ...
- BZOJ 1218: [HNOI2003]激光炸弹( 前缀和 + 枚举 )
虽然source写着dp , 而且很明显dp可以搞...但是数据不大 , 前缀和 + 枚举也水的过去..... -------------------------------------------- ...
- MySql 日期转字符串
1.date_format 日期转字符串 select date_format(now(),'%Y-%m-%d %H:%i:%s'); 2.str_to_date 字符串转日期 select str_ ...