【问题标题】:Run Perf tests using Jmeter GUI on Kubernetes cluster在 Kubernetes 集群上使用 Jmeter GUI 运行 Perf 测试
【发布时间】:2020-10-18 22:16:30
【问题描述】:

我有一个 Jmeter 服务器(使用 jmeter-maven-plugin)在我的 Kubernetes 集群的一个 pod 中运行,它用于对在同一集群中的其他 pod 中运行的微服务进行性能测试。我通常通过在终端中使用 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/ 之类的内容,但这会在我的性能测试响应时间中包含网络时间吗?

最好的方法是什么?我可以探索哪些其他可能的解决方案?是否有任何其他性能测试工具可以轻松实现这一目标?任何帮助表示赞赏。

【问题讨论】:

标签: kubernetes jmeter performance-testing jmeter-maven-plugin


【解决方案1】:

为了让别人访问你的 k8s 集群中的 Pod,你需要向外界公开 IP 地址和RMI ports

它不会“在我的 perf 测试响应时间中包含网络时间”,因为在 pod 上运行的 slave 正在做真正的工作,master 只收集、汇总和可视化测试结果。

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

【讨论】:

    猜你喜欢
    • 2018-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-19
    • 1970-01-01
    • 2019-02-15
    • 2018-11-17
    • 1970-01-01
    相关资源
    最近更新 更多