1

我想每秒模拟多达 100,000 个请求,并且我知道 Jmeter 和 Locust 等工具可以在分布式模式下运行以生成负载。

  1. 但是,由于单个 VM 上有多达 64 个 vCPU 和 240GB RAM 的云 VM,是否需要在较小机器的集群中运行,或者我可以只使用 1 个大型 VM?

  2. 由于来自 1 台大型机器的网络瓶颈,我能否实现更多机器的更多“并发”?

  3. 如果我只使用一台大机器,我会受到端口数量的限制吗?

  4. 在负载生成器中,每个发送请求的模拟“用户”是否也需要机器上的一个端口来接收 200 响应?(抱歉,我对 TCP 端口如何工作的理解有点薄弱。)

  5. 此外,我们大量使用 Kubernetes,但使用 Jmeter 或 Locust,我觉得在裸 VM 上运行它会更容易,无需容器化(即使在分布式模式下),同时仍保持可重复性。我应该尝试将 Jmeter 或 Locust 容器化并在 Kubernetes 中运行吗?

4

1 回答 1

0

根据KISS 原则,最好选择一台机器,前提是它能够执行所需的负载。

  1. 确保您遵循JMeter 最佳实践
  2. 确保您监控基线操作系统健康指标(CPU、RAM、交换、网络和磁盘 IO、JVM 统计信息等)
  3. 从少量用户开始,然后逐渐增加负载,直到达到所需的吞吐量或任何受监控指标的限制,无论先出现什么。如果缺少 CPU 或 RAM 或其他东西 - 看看可以做些什么来克服限制。

更多信息:您可以在 JMeter 上测试的最大用户数是多少?

于 2017-10-16T07:38:36.503 回答