kubernetes - JMeter 非 HTTP 响应代码:在 Kubernetes 上运行时出现 java.net.UnknownHostException
问题描述
我在 Azure Kubernetes 上运行我的 JMeter 进行负载测试。JMeter 使用 HTTP 采样器调用 Azure 函数(HTTP 端点)来生成负载。我收到错误消息响应代码:非 HTTP 响应代码:java.net.UnknownHostException 响应消息:非 HTTP 响应消息:abcd.azurewebsites.net。在 Kubernetes 上。
我在 Azure 虚拟机中运行了 JMeter 测试,但没有遇到任何问题。我对 Kuberenetes 和虚拟机使用相同的测试计划(jmx 文件),并且在两种情况下都使用相同的 Azure 功能。
请让我知道为什么在 Kubernetes 上运行时出现错误响应代码:非 HTTP 响应代码:java.net.UnknownHostException 响应消息:非 HTTP 响应消息: abcd.azurewebsites.net。
我正在使用以下配置
- JMeter - 5.2.1
- Kubernetes - 1.19.9
- Jmx 文件有 150 个线程
问候, 阿米特·阿格拉瓦尔
解决方案
我怀疑这是一个 JMeter 问题,很可能您的 pod 由于某种原因无法访问 Internet,您可能需要熟悉以下材料:
但是,如果 JMeter 是唯一有此问题的软件,您可能希望通过将下一行添加到log4j2.xml文件来增加 JMeter 对 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" />
可能的原因之一是您在本地将 JMeter 配置为使用您的公司代理访问 Internet,并且不小心忘记了为您的 k8s 部署删除此设置
推荐阅读
- kubernetes - 应该/可以使用 Kubernetes pod process.exit(1) 本身还是使用 liveliness 探针更好?
- php - PHP - Actively refresh exec function result?
- php - url 参数值不能是数组
- angular - 将省略号指令添加到 Angular 材质选择时添加工具提示
- elasticsearch - elasticsearch data_path 在elasticsearch上删除一个
- python - 使用 WholeTextFiles 处理 .txt 文件并希望提取文件名
- r - facet_wrap 中的 t 检验损坏
- java - 使用 CompletableFuture 和缓存进行处理
- cmake - 当外部项目更改时,如何自动重建对外部项目目标的依赖关系?
- gatling - 加特林检查不会失败