【问题标题】:Performance test with TaurusTaurus 的性能测试
【发布时间】:2018-09-04 13:14:09
【问题描述】:

我是性能测试的新手,想知道Taurus 的以下输出是什么意思(http://websi.te 不是我测试的真实域名!):

10:53:12 INFO: Test duration: 0:06:54
10:53:12 INFO: Samples count: 1202, 2.08% failures
10:53:12 INFO: Average times: total 26.906, latency 0.132, connect 0.233
10:53:12 INFO: Percentiles:
┌───────────────┬───────────────┐
│ Percentile, % │ Resp. Time, s │
├───────────────┼───────────────┤
│           0.0 │         0.728 │
│          50.0 │        23.631 │
│          90.0 │        43.903 │
│          95.0 │        56.927 │
│          99.0 │        84.351 │
│          99.9 │       104.895 │
│         100.0 │       125.503 │
└───────────────┴───────────────┘
10:53:12 INFO: Request label stats:
┌─────────────────┬────────┬────────┬────────┬───────────────────┐
│ label           │ status │   succ │ avg_rt │ error             │
├─────────────────┼────────┼────────┼────────┼───────────────────┤
│ http://websi.te │  FAIL  │ 97.92% │ 26.906 │ Moved Permanently │
└─────────────────┴────────┴────────┴────────┴───────────────────┘

例如:

  1. Resp. Time, s: 43.903 - 这是否意味着我的网站在 40 秒后响应了 40% 的案例?这是不可能的,因为如果我通过网络浏览器访问它,它会在 1-2 秒后响应。

  2. avg_rt(平均响应时间?)大约是 26 秒吗?不可能。

如果我查看 Chromium 性能测试,大多数元素(网络、帧、脚本)在 1000 毫秒后完成,网络瀑布在大约 650 毫秒后完成。

我还用 Taurus 测试了linguee.com,它给了我类似的数字:

  • avg_rt:15 秒
  • 50%:10 秒
  • 90%:24 秒
  • 95%:56 秒

有什么误解吗? 90% 的请求的响应时间是 24 秒,这怎么可能呢?自己去linguee.com查看,大概2000ms左右。

提前谢谢你。

编辑:

我的配置文件如下所示

execution:
- concurrency: 100
  ramp-up: 1m
  hold-for: 5m
  scenario: quick-test

scenarios:
  quick-test:
    requests:
    - https://www.linguee.com

【问题讨论】:

    标签: performance-testing taurus


    【解决方案1】:
    1. Resp. Time, s 43.903 for 90% percentile 表示 90% 的请求的响应时间至少为 43 秒
    2. avg_rt 代表平均响应时间。它是 所有 采样器持续时间的 arithmetic mean 除以其计数。你的情况是 26 秒

    关于您的“不可能”陈述:

    • 您的测试假设 1202 请求
    • 您的测试时间为 7 分钟

    这意味着您每分钟发出 171 个请求,每秒发出约 2.85 个请求。我不会说这对我来说看起来像是“负载测试”,很可能您的系统性能是一个很大的问号。您可以尝试在测试运行时在浏览器中打开您的system under test,并准备好大吃一惊。

    所以我会开始调查为什么您的系统响应如此缓慢,首先检查它是否有足够的资源(RAM、CPU、网络、磁盘等),您可以使用 JMeter PerfMon Plugin

    【讨论】:

    • 感谢您的反馈,我已经编辑了我的问题。
    • 你的 YAML 配置文件是什么样子的?
    • 我可以看到 2 个可能的问题: 1. 您的机器根本无法模拟 100 个并发用户。在 Taurus 运行时,请密切注意 CPU 和 RAM 的使用情况。 2. 有 DDoS 保护机制(至少对于 linguee.com)会阻止您进行负载测试。如果你需要一些主机来玩,你可以试试blazedemo.com
    • 刚试过 blazedemo.com,我的 CPU 表现正常,但结果比在其他主机上更奇怪:样本数:4383886,100.00% 失败,avg_rt 00.000
    【解决方案2】:

    如果你真的是在测试像 linguee 这样的外部网站,你的结果可能会很糟糕:

    • 您的网卡无法处理底层流量,因此您测试的不是网站而是网络
    • 目标网站有 DDOS 保护机制,会减慢您的请求速度
    • 您的机器超载

    关于 blazedemo,网站似乎已关闭或面临性能问题。

    请注意,您不应该在不属于您的网站上进行负载测试,因为它被视为 DDOS 攻击

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-08
      • 1970-01-01
      • 1970-01-01
      • 2021-12-19
      • 1970-01-01
      • 1970-01-01
      • 2013-05-12
      相关资源
      最近更新 更多