jmeter - 非 HTTP 响应代码:JMeter 中的 java.net.UnknownHostException
问题描述
我第一次尝试使用 JMeter 进行负载测试。我正在尝试访问 URL:http://ss12345.localhost:9001/testManagement/login。采样器结果打印为:
Thread Name:Thread Group 1-1
Sample Start:2020-04-02 18:25:52 IST
Load time:21
Connect Time:21
Latency:0
Size in bytes:2490
Sent bytes:0
Headers size in bytes:0
Body size in bytes:2490
Sample Count:1
Error Count:1
Data type ("text"|"bin"|""):text
Response code:Non HTTP response code: java.net.UnknownHostException
Response message:Non HTTP response message: ss12345.localhost
HTTPSampleResult fields:
ContentType:
DataEncoding: null
我不明白为什么它不选择userSpecificSubDomain : ss12345
. 如果我没有指定 userSpecificSubDomain,那么它会打开登录页面,否则它会抛出非 HTTP 响应代码:java.net.UnknownHostException。
有关更多详细信息,请参阅以下图片。
解决方案
JMeter 尝试解析DNS 主机名的IP 地址,并且由于它不知道它无法确定地址,因此它失败了。 ss12345.localhost
如果您在本地机器上有 JMeter 和正在测试的应用程序,您可以:
将下一行添加到主机文件(通常位于 下
C:\Windows\System32\drivers\etc\hosts
)127.0.0.1 ss12345.localhost
或者(或者如果您没有管理员权限,因此无法编辑主机文件),您可以将DNS 缓存管理器添加到您的测试计划并在那里指定映射:
以防万一意识到让被测应用程序和负载生成器在同一台机器上运行并不是最好的主意,因为它们将开始为资源而苦苦挣扎,因此负载测试结果将不可靠,因为您无法判断是否这是一个性能瓶颈,或者它只是缺乏即 RAM
推荐阅读
- sql - 甲骨文将两条记录合并到一条记录中,尽管有联合
- javascript - 如何使用 where 子句查看 id 是否存在于 postgres 数组类型列中
- python-3.x - 使用生成器进行多处理以暴力破解 b64 编码数据中丢失的字符 - 可能/如何?
- c# - 如何更改列表单元格的第三个字符
- azure - Azure DevOps 首次 Web 应用部署总是出错
- java - vscode.java.test.search.items 没有 delegateCommandHandler
- mysql - 删除性能与选择多个连接?
- python - Python如何将单词的第一个字母和最后三个字母大写
- thingsboard - 在时间序列中创建可变阈值线(社区版)
- msys2 - windows10编译win32版本ffmpeg时报错,如何解决?