Jmeter结果 - 关于性能测试的建议

时间:2016-12-20 08:51:07

标签: javascript performance http jmeter performance-testing

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

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

Error1

Error2

你能指点一下改善表现吗?

1 个答案:

答案 0 :(得分:0)

嗯,失败可能有很多原因。你把JMeter和服务器放在同一台机器上了吗?

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

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

以下是Checklist/Suggestions/Pointers

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

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

    服务器端:

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

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