【问题标题】:JMeter - Load Test a user scenarioJMeter - 负载测试用户场景
【发布时间】:2019-03-04 17:44:04
【问题描述】:

我正在对 JMeter 中的一个场景进行负载测试。我正在尝试实现一定数量的 r/s,然后将其维持 x 时间。但是,使用测试工具,每个端点的 r/s 似乎都不足。我只需要系统中的更多虚拟用户吗?还是下面的测试计划需要额外的修复?

  HTTP Header Manager 
  User Defined Variables
  DNS Cache Manager
  HTTP Authorization Manager
  HTTP Cache Manager
  Thread Group
     HTTP Cookie Manager
     CSV Data Set Config # 1 
     HTTP Request #1
        HTTP Header Manager
     HTTP Request #2
        HTTP Header Manager
        JSON Extractor
     HTTP Request #3
        HTTP Header Manager
     CSV Data Set Config # 2
     HTTP Request #4
        JSR2223 PreProcessor
        HTTP Header Manager

CSV 数据集配置 #1 是传递给 HTTP 请求 #1 和 #2 的用户名和密码的 CSV。 JSON 提取器将 HTTP 请求 #2 中的值提取到 HTTP 请求 #3 的 HTTP 标头管理器。

【问题讨论】:

  • 嗨。您能否在此处扩展> 我正在尝试实现一定数量的 r/s,然后将其维持 x 时间。一点点? “r / s数量” - 你是什么意思?还有 - 您能否在问题中附上 .jmx 场景?我可以看看
  • 您附加的测试计划树没有提供有关您的问题的太多信息。请提供更多详细信息-即您使用了多少虚拟线程,测试计划中有多少端点,请求/采样器,测试持续时间,预热时间,线程预热时间,保持加载时间(维持负载x 次?)
  • 这是 4 个 HTTP 请求,每个请求都有一个端点(POST、POST、GET、POST)。第一个 CSV 是 2000 多个用户名和密码,用于传递给前两个 HTTP 请求(在 EOF 处回收)。第二个 HTTP 请求有一个访问令牌作为响应,我将其传递给随后的两个 HTTP 请求。第二个 CSV 是在最后一个 POST HTTP 请求的正文中传递的一堆属性。我使用过 BlazeMeter,能够运行 30、40、50 和 500 VU 20-30 分钟。使用 500 VU,我可以达到约 80 小时/秒的平均吞吐量,但这是所有请求的总和。我需要尝试为每个 HTTP 请求点击它。

标签: jmeter blazemeter jmeter-5.0


【解决方案1】:

我能想到两种情况:

  1. JMeter 无法足够快地发送请求。如果是这样的话:

  2. 您的被测应用响应速度不够快。原因可能是:

    • 您的应用程序缺少资源(CPU、RAM、网络、磁盘、交换等)。考虑使用 JMeter PerfMon Plugin 监控其基线健康指标
    • 您的应用程序中间件配置不适合高负载。检查负载均衡器、应用程序服务器、数据库等的配置,看看它们是否设置得足以满足预期的负载。查看Web Performance Optimization tips 以获得初步想法。通常,应用服务器、数据库等的供应商会提供扩展说明。
    • 您的应用程序代码效率不够高,即使用了错误的算法。您可以使用profiling tools 检查最慢和/或最频繁调用的函数、最大的对象等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 2021-10-23
    • 2019-01-31
    • 1970-01-01
    • 2018-09-28
    • 2012-07-29
    • 1970-01-01
    相关资源
    最近更新 更多