zoukankan      html  css  js  c++  java
  • Jmeter 测试工具

    Jmeter 测试工具

    环境

    Jmeter 版本至少1.6以上.

    Jmeter 两种录制方法

    Badboy-录制

    • 独立的测试工具
    • 下载: http://www.badboy.com.au/
    • 红色按钮录制
    • 录制完成后点击工具栏黑色完成录制。选择“文件-->Export to Jmeter...”
    • 打开Jmeter 工具,选择“文件”-->“打开”选择刚才保存的文件 .jmx 类型。
    • 返回乱码的处理

    Jmeter 录制

    局域】网(LAN)设置端口要与代理一样

    • 默认8080

    执行顺序

    • 配置元件
    • 前置
    • 定时器
    • sampler
    • 后置
    • 断言
    • 监听器

    断言,检查点

    • 监视器 -->【响应断言】

    两种参数化方法

    • 前置处理器:添加 【用户参数】
    • 元件:【CVS Data Set Config】

    使用函数助手

    • 使用函数助手可以直接生成函数

    集合点

    • 定时器--> 【Synchronizing Timer】
    • 注意集合点位置,要放在集合操作之前
    • Number of Simulated Users to Group by: 多少个用户到达开始并发

    检查点

    • 添加【响应断言】,添加【断言结果】

    • 断言持续时间

      • 不能超过150毫秒,则可以使用断言持续时间来判断
    • 返回结果大小断言

      • 断言:【Size Assertion】

    关联(动态关联)

    • loadrunner 通过左右边界,正则。

    • Jmeter 使用 正则,xpath(一般xml 比较多)

    • 步骤:
      • badboy 录制
      • 找出需要关联的请求(nav.pl)
      • 该请求-->后置处理器》正则表达式处理器》填入内容
        • 正则(.*) :【.】 代表任意字符,【*】代表任意长度
        • 模板:如果前面正则表达式取了不止一个参数,那么这里需要制定参数组别,如果该参数为$1$,表示取得第一个值,$2$表示第二个值
        • 匹配数字:0随机;-1取所有值,以数组形式存储;1,2,3
      • 增加断言
      • 增加断言结果
      • 回放脚本查看是否正确

    监控图表

    • 相比 LoadRunner 稍弱

    • 扩展插件

      • JMeterPlugin-Standard-1.2.0.jar包复制到 Jmeter 的 lib 目录下面的 ext 目录下面,重新启动 Jmeter 。
      • 需要将 【ServerAgent-2.2.1.zip】解压后目录及下面的文件复制到我们测试的服务器上,然后点击打开,默认端口 4444
        • windows 下双击.bat 文件即可
        • 如果是 Linux 将 zip 包传到 linux 下,执行.sh 文件即可
      • JmeterPlugin下载地址:http://jmeter-plugins.org/downloads/all/
      • ServerAgent下载地址:https://jmeter-plugins.org/wiki/PerfMonAgent/
    • 监听器 --》【jp@gc-PerfMon Metrics Collector】

    • 点击 Add Row

    Jmeter 性能测试

    • 第一、需要了解被测系统的业务,包括具体业务,每个请求,每个请求参数的含义
    • 根据预先设计的场景,进行测试,生成图表

    FTP 程序(文件传输协议)

    • FTP 请求
      • Remote File
      • Local File
    • 步骤
      • 线程组
      • ftp 请求缺省值(可有可无)
      • ftp请求(get/put 两种)
      • 如果有用户名和密码天上即可

    Jmeter 数据库 mysql

    • mysql 驱动【mysql-connector-java.jar】

    • 步骤

      • 【测试计划】加入 jar 包

      • jdbc 配置【JDBC Connection Configuration】

        • 一般通常只需填写 Database Connection Configuraion 内容

          • Database URL:数据库url,jdbc:mysql://主机ip或者机器名称:mysql监听的端口号/数据库名称, 如:jdbc:mysql://localhost:3306/test

          • JDBC Driver class:JDBC驱动 com.mysql.jdbc.Driver

            详细网址:https://www.cnblogs.com/qianjinyan/p/10244345.html

          • username:数据库登陆的用户名

          • passwrod:数据库登陆的密码

      • jdbc 请求

      • 响应断言,断言结果,查看结果树

    • 如果需要实现同时多个不同的用户使用不同的SQL,可以通过把整条SQL 语句参数化来实现。例如把SQL 语句放在 csv 文件中,然后在JDBC Request 的 Query 中使用参数代替 ${SQL_Statement}

    Jmeter 分布式性能测试

    • java 开发,耗内存,cpu ,所以大并发下还是需要分布式的
    • 步骤
      • 关闭防火墙
      • 在需要运行 Jmeter 并作为负载生成器的机器上安装 Jmeter,并确定其中一台机器作为主 controller,其他的机器作为 agent。然后运行所有 agent 机器上的 jmeter-server 文件
      • 在 controller 机器的 Jmeter 的 bin 目录下,找到 jmeter.)properties 文件。修改文件中 【remote_hosts=...】改成我们 agent 压力机的 IP;
      • 启动 controller 机器上的 jmeter 应用,选择菜单》运行》远程启动来分别启动 agent , 也可以直接选择【远程全部启动】

    Jmeter 监听器

    • 种类繁多
    • 常用的:
      • 断言结果
      • 查看结果树
      • 聚合报告
      • 用表格查看结果
      • 图形结果
      • aggregate graph 等等
    • 指标分析 (Summary Report、聚合报告...)
      • Samples:本次场景中一共完成多少请求
      • Average:平均响应时间
      • Median:响应时间中值为 50%
      • 90% Line:90%响应时间
      • Min
      • Max (以上单位都是毫秒)
      • Error:出错率
      • Throughput:吞吐量
      • KB/sec 流量

    jtl 文件分析

    • Jmeter 中,结果都存放在 .jtl 文件。这个文件可以提供多种格式的编写,而一般我们都是将其以 csv 文件格式记录

    • 只需要选择某个监听器,点击页面中的 configure 按钮。建议勾选:Save Field Name, Save Assertion Failure Message;

    • 以上设置后,此时保存下来 jtl 文件会有如下

      • timeStamp 请求发出绝对时间
      • elapsed 响应时间
      • label 请求标签
      • reponseCode 返回码
      • responseMessage 返回消息
      • threadName 线程
      • dataType 数据类型
      • success 是否成功
      • FailureMessage 失败信息
      • bytes 字节
      • Latency 延迟
  • 相关阅读:
    iOS- 移动端Socket UDP协议广播机制的实现
    iOS- 三步快速集成社交化分享工具ShareSDK
    iOS- iOS 7 的后台多任务 (Multitasking) 对比之前的异同、具体机制、变化
    iOS- Exception异常处理
    17. Subsets【medium】
    zookeeper程序员指南
    error while loading shared libraries错误解决
    82. Single Number【easy】
    53. Reverse Words in a String【easy】
    查看linux内核和版本信息
  • 原文地址:https://www.cnblogs.com/521world/p/11388434.html
Copyright © 2011-2022 走看看