运行 在 Kubernetes 集群上使用 Jmeter GUI 进行性能测试

Run Perf tests using Jmeter GUI on Kubernetes cluster

我在我的 Kubernetes 集群的一个 pod 中有一个 Jmeter 服务器(使用 jmeter-maven-plugin)运行ning,用于在其他 [=23] 中测试微服务 运行ning =] 在同一个集群中。我通常 运行 通过在我的终端中使用 CLI 命令调用服务器来进行性能测试(执行到 k8 pod 和 运行 测试)。这仅在我拥有 Kubernetes 身份验证时有效。我现在需要允许没有 k8 访问权限的用户使用 GUI 客户端而不是 CLI 调用 Jmeter 服务器。我不希望他们编写任何测试脚本。我该怎么做?

这就是我一直在想的:

选项 1:客户端还必须 运行 在 k8 中并且用户必须能够使用浏览器访问客户端。我认为这是不可能的,因为 Jmeter GUI 客户端 运行 使用 bin 文件夹中的 sh 脚本 (https://octoperf.com/blog/2018/03/29/jmeter-tutorial/),不确定我们如何托管它?

选项 2:将 Jmeter 服务器暴露给外界,以便没有 k8 访问权限的用户可以使用此外部 IP 调用它。尝试遵循类似这样的方法 https://kubernetes.io/docs/tutorials/stateless-application/expose-external-ip-address/ 但这会在我的性能测试响应时间中包括网络时间吗?

执行此操作的最佳方法是什么?我可以探索哪些其他可能的解决方案?是否有任何其他性能测试工具可以轻松实现这一目标?感谢任何帮助。

为了让其他人访问您的 k8s 集群中的 pods,您需要向外界公开 IP 地址和 RMI ports

它不会“将网络时间包括在我的性能测试响应时间中”,因为 运行 在 pods 上的从站正在做真正的工作,主站只收集、汇总和可视化测试结果。

有关 JMeter 属性以及设置和覆盖它们的方法的更多信息:Apache JMeter Properties Customization Guide