【发布时间】:2020-08-06 05:18:53
【问题描述】:
我希望从 20 个客户端运行负载测试,但我只有一台机器可以做这个。 是否可以在 JMeter 或 locust 中执行此操作?
【问题讨论】:
-
不确定这里的环境是什么意思。请检查-stackoverflow.com/help/how-to-ask
标签: jmeter load-testing locust
我希望从 20 个客户端运行负载测试,但我只有一台机器可以做这个。 是否可以在 JMeter 或 locust 中执行此操作?
【问题讨论】:
标签: jmeter load-testing locust
这在一定程度上取决于您的服务器如何告诉客户/用户彼此,但是是的。
locust 和 jmeter 都将通过为每个用户保存不同的 cookie/会话来模拟许多用户。
默认情况下,Locust 将为每个用户使用一个 http 连接,并且 jmeter 也可以配置为这样做。
如果你的服务器做了一些不寻常的事情,比如基于 IP 的负载平衡,也许你可以在你的机器上使用多个网络接口或 IP,并让 Locust 从中挑选(但这通常不需要)。见https://github.com/locustio/locust/issues/376#issuecomment-541858577
【讨论】:
如果您正确配置 JMeter 以使其表现得更像真正的浏览器,至少:
被测应用程序应将每个 JMeter 线程视为不同的用户。
如果您的应用程序更“智能”并且它检查请求的源 IP 地址,您还可以将每个线程(虚拟用户)绑定到其自己的 IP 地址,JMeter 的HTTP Request 采样器具有“源地址”字段,您可以在其中指定所需的 IP 地址,可以使用 CSV Data Set Config 参数化该值:
更多信息:Using IP Spoofing to Simulate Requests from Different IP Addresses with JMeter
【讨论】: