【问题标题】:Stress test a Server via by launching multiple processes通过启动多个进程对服务器进行压力测试
【发布时间】:2014-04-28 17:21:45
【问题描述】:

我需要对大约 3000 个用户同时通过 SyncML 客户端连接到它的服务器进行压力测试。为了模拟每个用户,需要启动一个应用程序,然后连接到服务器并执行一些操作。 每个用户对应每个进程。

该过程基于 unix,并基于 SyncML 协议进行 http 事务。 我需要为这 3000 个进程运行负载一个小时左右。

您能否建议满足此类要求的最佳行业方法? JMeter 或 Locust 可以帮助我吗?

问候

【问题讨论】:

    标签: client-server load-testing stress-testing


    【解决方案1】:

    您绝对可以为此使用Locust

    我不建议启动进程来生成负载(即使有可能),主要是因为您不会获得有关发出的请求、完成所需的时间等的详细统计信息。

    您可以使用内置的 Locust HTTP 客户端手动执行包含 SyncML 数据的 HTTP POST 请求,或者您实际上可以采用 pysyncml 之类的东西,并创建自己的 SyncML 客户端,将其向 Locust 报告的请求.做起来相当简单,您可以阅读有关它的更多信息,并在有关 custom clients 的文档页面上查看示例。

    【讨论】:

      【解决方案2】:

      是的,JMeter 可以做到这一点,但我不清楚基于 unix 的进程到底需要做什么。

      JMeter 可以原生地发出 HTTP POST 请求并发送 XML 数据。除非您有一些非常自定义的逻辑来发出请求,否则请坚持使用 JMeter。

      如果必须,您可以执行本地进程,但这样会严重限制每台机器可以模拟的用户数量。 http://jmeter.apache.org/usermanual/component_reference.html#OS_Process_Sampler

      【讨论】:

      • 谢谢奥菲尔。应用程序将发出必要的 http 请求并与服务器交换数据。我需要启动应用程序的多个实例以在大约一个小时内生成约 3000 个用户的负载。
      • 每个进程启动并连接到服务器,执行一些操作然后消失。这大约需要 3-4 秒。现在我还需要通过确保为每个完成的应用程序启动一个新应用程序来维持服务器上的负载
      猜你喜欢
      • 2013-02-16
      • 2013-05-02
      • 2011-04-16
      • 1970-01-01
      • 2012-06-16
      • 2011-03-24
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      相关资源
      最近更新 更多