# 介绍

JMeter 是一个由 Apache 软件基金会开发的开源性能测试工具。它被广泛用于对 Web 应用程序进行负载测试、压力测试和性能测试,在部署到生产环境之前确保其性能和可靠性。

# 元件

  1. 线程组(Thread Group):线程组是测试计划的起点,用于模拟并发用户。您可以定义线程数、循环次数和启动延迟等参数。
  2. 取样器(Sampler):取样器用于发送请求并接收服务器的响应。它可以模拟各种类型的请求,如 HTTP 请求、FTP 请求、数据库请求等。
  3. 定时器(Timer):定时器用于模拟用户之间的延迟。您可以设置固定延迟、随机延迟或根据特定模式生成延迟。
  4. 配置元件(Config Element):配置元件用于设置测试环境的参数。例如,HTTP 请求默认值可以设置服务器地址、端口、协议等信息。
  5. 前置处理器(Pre-Processor):前置处理器用于在发送请求之前对请求进行修改或处理。例如,可以使用正则表达式提取响应中的特定数据。
  6. 后置处理器(Post-Processor):后置处理器用于对服务器响应进行修改或处理。例如,可以使用正则表达式提取响应中的特定数据并保存到变量中。
  7. 断言(Assertion):断言用于验证服务器响应是否符合预期。您可以使用断言检查响应的内容、响应时间、响应代码等。
  8. 监听器(Listener):监听器用于收集和显示测试结果。它可以以表格、图形、树形结构等形式展示响应时间、吞吐量、错误率等指标。
  9. 逻辑控制器(Logic Controller):逻辑控制器用于定义测试计划的执行逻辑。例如,循环控制器可以让测试线程重复执行一组操作。
  10. 配置元件(Configuration Element):配置元件用于配置测试计划的全局参数。例如,用户可以设置代理服务器、缓存管理器等。

# 性能指标

  1. 响应时间(Response Time):响应时间是指从发送请求到接收到完整响应的时间。它表示了系统处理请求所需的时间,包括服务器处理时间、网络传输时间等。
  2. 吞吐量(Throughput):吞吐量是指在单位时间内处理的请求数量。它表示系统的处理能力,即每秒可以处理的请求数量。通常以请求 / 秒或事务 / 秒来衡量。
  3. 并发用户数(Concurrency):并发用户数是指同时发送请求的用户数量。它表示系统在给定时间内能够同时处理的用户数量。
  4. 错误率(Error Rate):错误率是指请求中出现错误的百分比。它表示系统在处理请求时发生错误的频率,可以帮助评估系统的稳定性和可靠性。
  5. CPU 使用率(CPU Usage):CPU 使用率表示系统在执行测试期间的 CPU 资源利用率。它可以帮助评估系统的负载情况和性能瓶颈。
  6. 内存使用量(Memory Usage):内存使用量表示系统在执行测试期间的内存占用情况。它可以用来评估系统的内存使用情况和内存泄漏问题。
  7. 网络带宽(Network Bandwidth):网络带宽表示系统在执行测试期间的网络传输速率。它可以帮助评估系统在高负载情况下的网络性能。
  8. 平均响应时间(Average Response Time):平均响应时间是所有请求的响应时间的平均值。它可以用来评估系统的整体性能表现。
  9. 90/95/99 百分位响应时间(90th/95th/99th Percentile Response Time):百分位响应时间表示在给定百分比的请求中,响应时间小于或等于特定值的百分比。例如,90th 百分位响应时间表示有 90% 的请求响应时间小于或等于该值。它可以用来评估系统的稳定性和性能分布情况。

# 下载

  1. 下载并解压
    下载地址:https://jmeter.apache.org/download_jmeter.cgi
  2. 安装 Java 环境
  3. 进入 bin 目录,双击运行 jmeter.bat

# 使用

# 设置语言

选项 -> 选择语言 -> 简体中文

# 添加元件

  1. 右键测试计划 -> 添加 -> 线程 -> 线程组
  2. 右键线程组 -> 添加 -> 取样器 ->HTTP 请求
  3. 右键 HTTP 请求 -> 添加 -> 配置元件 ->HTTP 信息头管理器
  4. 右键 HTTP 请求 -> 添加 -> 断言 -> 响应断言
  5. 右键线程组 -> 添加 -> 监听器

# 启动测试

点击运行图标▶
测试完成之后可以点击对应监听器查看测试结果

更新于