【问题标题】:Jmeter results - advice on perfomance testingJmeter 结果 - 关于性能测试的建议
【发布时间】:2016-12-20 08:51:06
【问题描述】:

我们已经执行了性能测试。从 25 个用户开始,我们看到应用程序崩溃并且应用程序对 15 个用户没有响应。 15 个用户的错误百分比在 2 到 4 分钟内逐渐从 0 增加到 100。以下是性能测试的错误和快照。

错误: • 服务器端错误 • 没有找到您要查的资源。 • HTTP 404 错误。

您能否提供一些改进性能的建议?

【问题讨论】:

  • 缓存,按需加载数据
  • 已经缓存在沙发底座中

标签: javascript performance http jmeter performance-testing


【解决方案1】:

嗯,失败的原因可能有很多。您是否将 JMeter 和服务器放在同一台机器上?

如果是,这可能是失败的原因,因为 JMeter 和服务器都消耗资源。

如果没有,请检查以下设置。

以下是Checklist/Suggestions/Pointers

客户端:模拟预期负载 - 不多不少(可能会出现错误的测试设计/脚本导致多于/少于预期负载)

  1. Ramp-Up:检查 25 个线程是如何启动的。除非您进行 Stree/Spike 测试,否则应该有足够的启动时间(比如 2 分钟内 25 个线程)。
  2. 用户思考时间:检查您是否在事务中添加了任何计时器。如果没有,您将产生比预期更多的负载。添加计时器黑白事务以复制实时场景。
  3. Pacing:检查您是否在每次迭代中给予任何时间 b/s。不是,它加快了执行速度。
  4. 错位计时器(范围):检查您的计时器是否适用于所有采样器/事务。
  5. 缓存配置:使用 HTTP 缓存管理器为静态资源配置缓存,以便从第二次迭代 JMeter 使用其缓存而不是请求服务器。仅当服务器允许客户端缓存资源时才必须做出此决定(检查 Cache-control 和其他相关标头)。否则,可以忽略此配置。
  6. 并行请求:如果您在 HTTP Sampler 中使用 Parallel Downloads 字段,请不要保持超过 6 个(现代浏览器使用多线程并行下载资源)。​​

如果配置错误,上述因素可能会导致不必要的负载。

服务器端:

  1. 服务器计算机资源稀缺:使用nmon for Linux, PerfMon for Windows。分析结果并找出导致问题的资源,即 CPU、内存、网络、硬盘 I/O。 (服务器崩溃的最常见原因)
  2. 服务器配置错误:检查 maxThreads、minThreads、maxConnections、Keep-Alive 超时、连接超时等,并根据需要进行调整。

可能的解决方案:

如果资源是瓶颈并且您正在产生预期的负载,那么您必须scale in(将作为瓶颈的资源添加到现有机器)或scale out(在更多服务器机器上部署应用程序)

【讨论】:

  • 感谢您的回答,需要一些时间来消化答案,会回来的:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-19
  • 2015-02-08
  • 1970-01-01
  • 1970-01-01
  • 2017-04-17
  • 1970-01-01
相关资源
最近更新 更多