zoukankan      html  css  js  c++  java
  • 用jmeter进行多用户并发压力测试 [转]

    近日manager要求对项目进行压力测试,开始对jmeter进行了研究。jmeter是Apache一个开源项目,可对各种项目进行测试,甚至包括junit。

         测试要求如下,多用户同时登陆web应用程序,并进行操作,查看在多用户操作下,程序的performence。恰好,jemter下有个CSV Data Set Config,它用来设定一组参数,以便在向程序发出请求时,传入参数。在进行压力测试以前,应先将操作过程记录下来。jmeter有个http prox serve,用它可以进行记录。但有个更好的软件,即badboy,如下图,

    badboy记录操作过程

    只要输入请求地址,便可将所有的操用步骤记录下来,导出jmeter的script,jmeter导入这个sccript就是一个工程了,可以在里面对其进行修改参数和添加新的断言,监听器等。多用户的参数文件就在这里设。

     csv

    右键单击选择配置器,一一输入参数文件地址(便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" 按钮产生
  • 相关阅读:
    调起MT096的配置过程
    数据库不能用delete---index空间不足
    cics下任务的停止
    StrTrim()---对string不可以随便用
    update语句
    makefile--Unfound symbol
    文件的读写权限
    makefile--$@
    C++--类的头文件和文件名要一致吗
    Django模板(Templages)
  • 原文地址:https://www.cnblogs.com/opps/p/4538523.html
Copyright © 2011-2022 走看看