近日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进行多用户并发压力测试 [转]的更多相关文章

  1. 用jmeter进行多用户并发压力测试

    测试要求如下,多用户同时登陆web应用程序,并进行操作,查看在多用户操作下,程序的performence.恰好,jemter下有个CSV Data Set Config,它用来设定一组参数,以便在向程 ...

  2. Windows和Linux的Jmeter分布式集群压力测试

    Windows的Jmeter分布式集群压力测试 原文:https://blog.csdn.net/cyjs1988/article/details/80267475 在使用Jmeter进行性能测试时, ...

  3. JMeter (3) —— JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial)

    JMeter (3) -- JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial) 主要内容 JMeter录制脚本并进行压力测试用户登陆场景,并以CAS SSO单点 ...

  4. 学习总结——JMeter做http接口压力测试

    JMeter做http接口压力测试 测前准备 用JMeter做接口的压测非常方便,在压测之前我们需要考虑这几个方面: 场景设定 场景分单场景和混合场景.针对一个接口做压力测试就是单场景,针对一个流程做 ...

  5. Jmeter教程 简单的压力测试

    Jmeter教程 简单的压力测试:http://www.cnblogs.com/TankXiao/p/4059378.html

  6. 转:使用 JMeter 完成常用的压力测试

    使用 JMeter 完成常用的压力测试 就目前 Java EE 的平台下开发的软件来说,这种节点通常可能是:Web 服务器.数据库服务器和 JMS 服务器.它们都是请求主要发生的地点,请求频率较其它的 ...

  7. 【转】使用JMeter 完成常用的压力测试(三)

    使用JMeter 完成常用的压力测试 发布时间: 2008-9-27 15:33    作者: 未知    来源: 网络转载 字体:  小  中  大  | 上一篇 下一篇 | 打印  | 我要投稿 ...

  8. 【转】使用JMeter 完成常用的压力测试(二)

    使用JMeter 完成常用的压力测试 Login.jsp 和welcome.jsp.其中 login.jsp 负责生成 User 对象,并调用 User 的login.当 login 返回为 true ...

  9. 使用ab 进行并发压力测试

    使用ab 进行并发压力测试 - 参与商 - 博客园 https://www.cnblogs.com/shenshangzz/p/8340640.html 使用ab 进行并发压力测试   ab全称为:a ...

随机推荐

  1. ProFTPD 初探

    ProFTPD:一个Unix平台上或是类Unix平台上(如Linux, FreeBSD等)的FTP服务器程序.

  2. nginx 1.4.7 发送日志到rsyslog

    <pre name="code" class="html">tar -xzf nginx-1.4.7.tar.gz # cd nginx-1.4.7 ...

  3. Android多线程任务优化1:探讨AsyncTask的缺陷

     AsyncTask还有别的缺陷,在生成listview的时候,如果adapter里面的count动态改变的话,不能使用AsyncTask,只能使用Thread+Handler,否则会出现如下错误 j ...

  4. How to choose between zombie.js and PhantomJS for automated web testing? [closed]

    How to choose between zombie.js and PhantomJS for automated web testing? [closed] How to choose betw ...

  5. xmu1125 越野车大赛(三分)

    1125: 越野车大赛 Time Limit: 500 MS  Memory Limit: 64 MB  Special JudgeSubmit: 4  Solved: 3[Submit][Statu ...

  6. linux下curl编程

    LibCurl是免费的客户端URL传输库,支持FTP,FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, FILE ,LDAP等协议,其主页是http: ...

  7. Matlab中的静态(持久)变量和全局变量

    1.静态变量(persistent) 在函数中声明的变量,当函数调用完之后就会释放.如果想保留这个变量的值(供该函数下一次调用),可以把这个变量声明为静态变量.静态变量不能在声明的时候赋值,而且只能在 ...

  8. Sliding Window Maximum

    (http://leetcode.com/2011/01/sliding-window-maximum.html) A long array A[] is given to you. There is ...

  9. 采用translate实现垂直水平居中

    今天分享一个利用css3新特性实现垂直水平居中的方法. 通过对元素进行绝对定位再配合transform中的translate实现. 代码如下: html <div id="conten ...

  10. 10min系列之二日志可视化进阶

    10min系列之二日志可视化进阶(作者原创,同步发布在github) 本文需要有一定的python和前端基础,如果没基础的,请关注我后续的基础教程系列博客 本文所有的demo,都是浏览器下展示的 原创 ...