【问题标题】:Ramp up/down algorithm for user load testing用于用户负载测试的斜坡上升/下降算法
【发布时间】:2011-09-05 16:07:24
【问题描述】:

我正在开发一个用于 Web 服务器的用户负载测试应用程序,并且我正在尝试实现一项功能,以自动增加服务器可以处理的最大“用户”数量。我想生成测试用户,直到达到平均响应时间和/或 http 请求失败率的某个阈值,然后我想杀死/生成用户,直到找到刚好低于阈值的稳定状态。

本质上,我想尽可能快地找到仍然满足要求的最大稳定并发用户数。

我当然可以自己想出一个算法,但我认为可能存在我可以使用的现有斜升/斜降算法。如果有人对此有所了解,如果您能指出正确的方向,我会很高兴!

谢谢!

【问题讨论】:

    标签: algorithm load-testing


    【解决方案1】:

    这在很大程度上取决于正在发生的事情,以及系统是否开始逐渐衰减或性能是否出现离散下降(例如“健康”->“死亡”)。

    在第二种情况下,没有反馈表明您是否正在接近边界,因此您需要先找到一个超过阈值的点,然后在该点和不超过阈值的最大值之间跳转临界点。您可以使用 2 个(或更多)单独的服务器来简化此操作。中间拆分几乎是最快的可行方式,但如果您有 10 台服务器,您可以在每次迭代中分成 10 个步骤。

    如果您收到一些反馈,那么您正在寻找一种包含此反馈的方法。您可能会发现Nelder-Mead algorithm 是合适的。它相当容易实现,但您可能会找到任何感兴趣的语言的实现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-26
      • 1970-01-01
      • 1970-01-01
      • 2018-11-16
      • 2017-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多