• jmeter基础使用


    1、ServerAgent是服务端的插件
    2、
    下载成功后,复制JmeterPlugins-Extras.jar和JmeterPlugins-Standard.jar两个文件,放到jmeter安装文件中的lib/ext中,重启jmeter,即可看到该监视器插件。如下图:

    一、资源监控:Perfmon Metrics Collector(性能度量收集器)
    测试计划---线程组-- 监控--jp@gc-PerfMon Metrics Collector(CPU,内存Memory,兹盘Disks,网络Network/o)
    必须先启动端口4444:
    cd C:a1
    startAgent.bat
    cpu不超过百分之80就是好的:
    内存不超过百分80:

    二、响应时间和吞吐量--聚合函数---
    1、jp@gc-Transactions per Second (每秒的事务数)
    2、jp@gc-Hits per Second (每秒的点击数)
    (选择中图形后右键第二个可以保存。)
    3、jp@gc-Response Times Over Time:(事务响应时间)
     CPU     Memory(内存)
     Disks I/0 (磁盘I/0) Network I/O(网络I/O )
    线程组 :
    线程数:   Ramp-up  Period(in seconds) :代表每个请求发生的总时间间隔)
    (如果我的请求数目是5,而这个参数是10,那么每个请求之间的间隔就是10/5,也就是2秒)
     循环次数:

    三、网络单位:
    在计算机网络或者是网络运营商中,一般,宽带速率的单位用bps(或b/s)表示;bps表示比特每秒即表示每秒钟传输多少位信息,是bit per second的缩写。在实际所说的1M带宽的意思是1Mbps(是兆比特每秒Mbps不是兆字节每秒MBps)。
     
    建议用户记住以下换算公式:

    1B=8b 1B/s=8b/s(或1Bps=8bps)

    1KB=1024B 1KB/s=1024B/s

    1MB=1024KB 1MB/s=1024KB/s


    四、即TRT:事务响应时间,性能测试中,最重要的两个指标的另外一个。该插件的主要作用是在测试脚本执行过程中,监控查看响应时间的实时平均值、整体响应时间走向等


    五、关联:
    后置处理器:——正则表达试---(.+?)(.*)
     模板 $1$
     匹配数 1
    正则表达:
     
    具有特殊含义的字符:
      ( ) :括号界定期望获取字符串的匹配模式
      . (字符点): 匹配任何单个字符
      +:一次或者多次
     ?:找到匹配的结果后立刻停止查找
      : 转义字符
      [ ] : 匹配符合 [] 内的字符
    具有特殊含义的字符:
     [0-9] 匹配所有数字字符
     [a-z] 匹配所有小写字母字
     [^0-9] 匹配所有非数字字
     [^a-z] 匹配所有非小写字
     ^ 匹配字符开头的字符
     $ 匹配字符结尾的字符

    加入“后置处理器”->“正则表达式提取器”:引用名称即使用的参数名;填入正则表达式;模板选取匹配的组;匹配数字为匹配的个数,负数表示全部匹配;缺省值为没有匹配到时的取值。示例中用正则表达式匹配出产品id作为后续使用的参数。提取到的参数,调用时用${product_id_1},${product_id_2},${product_id_3}……;如果想要得到匹配出的参数的个数,用${product_id_matchNr};如果想随机选取其中一个,只需将匹配数字设为0,使用${product_id}调用即可。可以一次匹配多组;示例中只匹配了一个,假如正则表达式为name="chkProductIds" id="chk(.+?)" value="(.+?)",就会有两组参数;想获得匹配到的组个数用${product_id_g};模板针对的是匹配到的字符串再做组的区分,比如希望${product_id}取出的是第二组参数的值,用$2$。





    六、参数化:
    1:登录认证信息
    2:一些和时间相关的,违反时间约束的
    3;一些受其他字段约束
    配置元件----CSV Data Set Config (配置元件里的第一个)
    1,先在文本txt里写入变量名和值,在CSV Data Set Config 里加入地址和文本名(变量名)。
    2,调用时${变量名}

    七、断言:(检查点:)
    断言---添加响应断言:
    1包括:返回结果包括你指定的内容。
    2匹配:根据指定内容进行匹配。
    3Epuals:返回结果与你指定结果一致。
    4Substring:返回结果是指定结果的字符串。
    5否:不进行匹配。
    二、Size Assertion(返回值大小断言)
    三、断言持续时间(超出时间断言)

    6。配置元件---事务控制器(什么都不勾就是计算采样器的时间而不会计计算器时间,就是忽略时间)
    1)generate parent sample 生成父样本(勾第一个就是所有在事务控制器下的采样器都会在它下面显示,没什么用)
    2)lnclude duration oftimer and pre-post processors in generated sample
    (勾第二个在它下面的所有采样器,事务会计算加上计时器的时间)
    (在生成的样本中包括计时器和前置处理器的持续时间 )

    思考时间:
    计时器:集合点:Synchronizing Timer(配置元件里倒数第四个)
    Numder of Simulated Users to Group by:10(第一框代表10个用户)
    Timeoutin milliseconds:1000(第二个框代表1000毫秒,集合之后等待1秒钟,10个用户同时释放)




     四、在bin目录下---选择jmeter.properties 打开查找框输入以下就可以修改成xmL格式,默认格式scv
    xmL格式比较消耗资源
    jmeter.save.saveservice.output_format

    八、监视器
    1聚合报告
    Summary Report
    ? Label:取样器名称
    ? Samples:运行时得到的取样器响应结果个数
    ? Min:所有取样器结果的响应时间最小值
    ? Max:所有取样器结果的响应时间平均值
    ? Std.Dev.:所有取样器结果的响应时间标准差
    ? Error%:出错的取样器结果占所有取样器结果的比例
    ? Throughput:每秒钟响应的取样器结果个数
    ? KB/sec:每分钟响应的数据流量
    ? Avg.Bytes:所有取样器返回 http response data 字节数的平均值

    九、Jmeter性能最佳实践
     1、使用最新版的Jmeter
     2、使用命令行模式运行测试
     3、配置合适的Java虚拟机内存大小
     4、尽量使用CSV格式输出结果
     5、合理的使用Post-Processor和Assertion
     6、Regular Expression Extractor注意作用域的合理设置
     7、尽量避免使用XPath Extractor
     8、尽量少的使用Listener并注意作用域

    12、负载生成器:联机负载  在bin目录下打开------jmeter-server.bat

     1、在负载生成器(slaves)启动 jmeter-server;
     2、在控制台(master)编辑 jmeter.properties文件。查找remote_hosts= 并根据实际情况添
    加slave的IP地址到列表中;
     3、在master端启动 Jmeter;
     4、开始运行。


    十、Jmeter组件执行顺序
    测试计划的元素执行是有序的,通过以下方式
     1–配置节点
     2–前置处理器
     3–定时器
     4–取样器
     5–后置处理器(只在有结果可用情况下执行
     6–断言(只在有结果可用情况下执行)
     7–监听器(只在有结果可用情况下执行)

    十一、逻辑控制器:
    1、循环控制器:控制循环的。
    2、ForEach控制器是跟配置元件里的用户变量使用的:用户变量
    可以输出变量名,生成变量。
    3、Critical Section Controller (诸存采样器,提供一块空间来存诸采样器的)
    4、一次控制器:在它下面添加采样器的不管你循环多少次都会只是运行一次。

    ForEach Controller
    foreach控制器与用户定义变量(udv)一起使用。它是一个
    当我们添加的每个采样器或控制器执行时,循环控制器的变量
    根据要重复的次数一次或多次。

    Transaction Controller事务控制器
    事务控制器生成一个额外的示例,用于测量

    执行嵌套测试元素所用的总时间。
    If Controller:就是if判断变量是否为True
    if控制器允许用户控制下面的测试元素

    孩子们)是否逃跑。

    十二、资源监控:
    可以右击图表,选择保存图片。
    监听每秒点击数:在监听器中添加jp@gc - Hits per Second

    监听吞吐率即每秒的事务数:在监听器中添加jp@gc - Transactions per Second


    5、做好性能测试需要掌握的知识:

        掌握一门编程语言
        掌握计算机原理和操作系统知识
        良好的网络基础
        掌握数据库知识
        中间件(apache,tomcat)
        常用抓包工具
        性能测试工具






















    没有不会的技术,只有你想不到的技术。。。。。。。。。。。。。。
  • 相关阅读:
    TSQL常用查询语句
    团队开发注意事项
    SQLServer2005 XML数据类型操作
    Nunit学习笔记
    服务器架构工具表
    JQuery 做的下拉文本框
    面向对象和结构化程序设计的区别
    AFX_MSG是什么意思
    DECLARE_MESSAGE_MAP()
    AfxBeginThread的介绍/基本用法
  • 原文地址:https://www.cnblogs.com/zenghongfei/p/11480441.html
Copyright © 2020-2023  润新知