JMeter 非 HTTP 响应代码:在 Kubernetes 上运行时出现 java.net.UnknownHostException
Posted
技术标签:
【中文标题】JMeter 非 HTTP 响应代码:在 Kubernetes 上运行时出现 java.net.UnknownHostException【英文标题】:JMeter Non HTTP response code: java.net.UnknownHostException when running on Kubernetes 【发布时间】:2021-05-09 12:33:55 【问题描述】:我在 Azure Kubernetes 上运行我的 JMeter 进行负载测试。 JMeter 使用 HTTP 采样器调用 Azure 函数(HTTP 端点)来生成负载。 我在 kubernetes 上收到错误消息 响应代码:非 HTTP 响应代码:java.net.UnknownHostException 响应消息:非 HTTP 响应消息:abcd.azurewebsites.net.。
我在 Azure 虚拟机中运行了 JMeter 测试,但没有遇到任何问题。 我对 Kuberenetes 和虚拟机使用相同的测试计划(jmx 文件),并且在两种情况下都使用相同的 Azure 函数。
请告诉我为什么在 Kubernetes 上运行时出现错误响应代码:非 HTTP 响应代码:java.net.UnknownHostException 响应消息:非 HTTP 响应消息:abcd.azurewebsites.net。 p>
我正在使用以下配置
-
JMeter - 5.2.1
Kubernetes - 1.19.9
Jmx 文件有 150 个线程
问候, 阿米特·阿格拉瓦尔
【问题讨论】:
【参考方案1】:我怀疑这是 JMeter 的问题,很可能您的 pod 出于某种原因无法访问 Internet,您可能需要熟悉以下材料:
Check required ports Debugging DNS Resolution但是,如果 JMeter 是唯一存在此问题的软件,您可能希望通过将下一行添加到 log4j2.xml 文件来increase JMeter's logging verbosity 用于 HTTP 协议:
<Logger name="org.apache.http" level="debug" />
<Logger name="org.apache.http.wire" level="error" />
<Logger name="org.apache.jmeter.protocol.http" level="debug" />
其中一个可能的原因是您在本地 configured JMeter to use your corporate proxy for accessing the Internet 并且不小心忘记为您的 k8s 部署删除此设置
【讨论】:
我们在虚拟机上运行时没有使用任何代理。以上是关于JMeter 非 HTTP 响应代码:在 Kubernetes 上运行时出现 java.net.UnknownHostException的主要内容,如果未能解决你的问题,请参考以下文章
Jmeter:非 HTTP 响应代码:java.net.URISyntaxException