我正在使用JMeter编写ISO消息的脚本来进行负载测试。我已经使用了ISO 8583采样器和连接配置。所有的数据字段都被正确Map,包括MTI(字段0)。但问题是请求没有从JMeter发送到服务器。它只是不断地给出超时问题,我没有得到任何响应。我“我看过这个请求,并验证了它的格式,他说格式是正确的。有人能帮助解决这个问题吗?
7cwmlq891#
查看“为什么我会超时?"文档部分,"为什么我会超时“响应超时的三个常见原因是:1.采样器未收到任何响应。1.采样器收到响应,但无法解包。1.采样器确实接收到响应并将其解包,但没有匹配的请求。调试日志应包含类似于以下内容的通道输出:
2022-02-22 12:34:56,789 DEBUG n.c.b.j.i.Q2: (channel/HOSTNAME:POST) [send] Out: 0800 000001 2022-02-22 12:34:56,987 DEBUG n.c.b.j.i.Q2: (channel/HOSTNAME:POST) [receive] In: 0810 000001
如果只有第一个日志行,则没有收到响应(上述情况1)。很可能是请求的格式不正确,远程系统已将其丢弃,因此检查其日志/跟踪可能会有所帮助。请仔细检查打包程序配置文件!该文件定义了在通过网络之前(之后)如何打包请求(或解包响应)。如果两条线都存在,则实际上收到了响应(上述情况2和3)。如果第二个日志行包含类似以下的错误,则响应解包失败(上述第2种情况)。请仔细检查打包程序配置文件!
2022-02-22 12:34:56,987 ERROR n.c.b.j.i.Q2: (channel/HOSTNAME:POST) [receive] org.jpos.iso.SOMECLASSNAMEHERE: Problem unpacking field ...
如果第二个日志行没有错误,那么很可能是插件没有找到匹配的请求(上面的第三种情况)。仔细检查Mux设置!这些设置定义了用于匹配的MTI值和消息字段,默认设置可能不起作用。为了将increase JMeter's logging verbosity用于ISO 8583采样器,将下一行添加到 log4j2.xml 文件:
<Logger name="nz.co.breakpoint.jmeter.iso8583" level="debug" />
需要重新启动JMeter以获取更改。还要确保您可以使用telnet客户端或类似的工具从运行JMeter的机器上访问目标服务器主机/端口。
1条答案
按热度按时间7cwmlq891#
查看“为什么我会超时?"文档部分,
"为什么我会超时“
响应超时的三个常见原因是:
1.采样器未收到任何响应。
1.采样器收到响应,但无法解包。
1.采样器确实接收到响应并将其解包,但没有匹配的请求。
调试日志应包含类似于以下内容的通道输出:
如果只有第一个日志行,则没有收到响应(上述情况1)。很可能是请求的格式不正确,远程系统已将其丢弃,因此检查其日志/跟踪可能会有所帮助。请仔细检查打包程序配置文件!该文件定义了在通过网络之前(之后)如何打包请求(或解包响应)。
如果两条线都存在,则实际上收到了响应(上述情况2和3)。
如果第二个日志行包含类似以下的错误,则响应解包失败(上述第2种情况)。请仔细检查打包程序配置文件!
如果第二个日志行没有错误,那么很可能是插件没有找到匹配的请求(上面的第三种情况)。仔细检查Mux设置!这些设置定义了用于匹配的MTI值和消息字段,默认设置可能不起作用。
为了将increase JMeter's logging verbosity用于ISO 8583采样器,将下一行添加到 log4j2.xml 文件:
需要重新启动JMeter以获取更改。
还要确保您可以使用telnet客户端或类似的工具从运行JMeter的机器上访问目标服务器主机/端口。