【问题标题】:Jmeter load test with 30K users?30K用户的Jmeter负载测试?
【发布时间】:2016-06-14 11:24:20
【问题描述】:

使用 jmeter 对 30,000 个用户执行负载测试的最佳方法是什么?我有多个服务器,我的服务器只能处理 3000 个用户(之后服务器 CPU 达到 100%)。谁能帮忙解决这个问题。

【问题讨论】:

  • 当每台服务器最多只能模拟 3k 用户时,您是否正在寻找一种跨服务器模拟 30k 用户的方法,或者您是否希望优化您的应用程序以在单个服务器上处理来自 3k 用户的 30k 用户服务器?

标签: jmeter performance-testing


【解决方案1】:

您可能不需要在测试中模拟所有 30k 用户,因为现实生活中的用户不会不停地敲击服务器,他们需要一些时间在操作之间“思考”。此外,用户在页面加载时不能采取任何行动。

例如,如果

  • 用户在两次操作之间“思考”了 10 秒
  • 页面响应时间为 2 秒

这意味着每个用户每分钟将访问服务器 5 次。 30k 用户每分钟将发出 150k 请求,即每秒 2500 个请求,这似乎可以通过您当前的设置实现。确保您明智地使用JMeter Timers 来代表现实生活中的用户行为。

其他需要考虑的事项:

  1. JMeter 默认配置有利于测试开发和调试,但是在模拟高负载时需要对其进行调整。配置说明见9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure
  2. 当一个控制器协调多个运行相同测试的负载生成器时,JMeter 可以在分布式模式下启动。有关概述和设置指南,请参阅 JMeter Distributed Testing Step by Step 文章。

【讨论】:

    【解决方案2】:

    我同意上面的答案。

    您需要考虑您的用户个人资料。

    测试本身的目的是什么?是要确定系统上可能的最大负载,还是您的公司认为其用户群在某个时候可能会增长到 30000?

    尝试使用参数化脚本进行一些缩放测试。

    从线程/用户数的较低值开始(例如 3000,您的用户当前用户群)。

    逐步增加用户群,直到达到 30000。

    然后,您应该能够看到您的系统从什么时候开始受损,然后最终崩溃。

    【讨论】:

      猜你喜欢
      • 2017-09-16
      • 1970-01-01
      • 2018-09-28
      • 2012-07-29
      • 1970-01-01
      • 2017-03-22
      • 2017-11-26
      • 2018-05-28
      • 1970-01-01
      相关资源
      最近更新 更多