提问者:小点点

ISO8583消息在JMeter中提供超时错误


我正在使用JMeter为ISO消息编写脚本来进行负载测试。我使用了ISO8583采样器和连接配置。所有字段的数据栏都正确映射,包括MTI(字段0)。但是问题是请求没有从JMeter发送到服务器。它只是不断给出超时问题,我没有得到任何响应。我已经看到了请求,并从实施者自己验证了它的格式,他说格式是正确的。有人能帮助解决这个问题吗?


共1个答案

匿名用户

看看为什么我得到超时?留档部分,

为什么我被超时了?

响应超时的三个常见原因是:

  1. 采样器没有收到任何响应。
  2. 采样器确实收到了响应,但未能将其解压缩。
  3. 采样器确实收到响应并将其解压缩,但无法匹配任何请求。

调试日志应包含类似于以下内容的通道输出:

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)。很可能是请求格式不正确,远程系统丢弃了它,因此检查其日志/跟踪可能会有所帮助。仔细检查Packager配置文件!这定义了在请求通过线路之前(之后)如何打包(或解包响应)。

如果两条线都存在,则实际上收到了答复(上文案例2和3)。

如果第二个日志行包含如下错误,则响应解压缩失败(上面的情况2)。仔细检查Packager配置文件!

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 ...

如果第二个日志行没有错误,那么很可能插件没有找到匹配请求(上面的案例3)。仔细检查多路复用设置!这些定义了用于匹配的MTI值和消息字段,默认设置可能不起作用。

为了增加JMeter对ISO8583采样器的日志记录详细程度,请将下一行添加到log4j2. xml文件中:

<Logger name="nz.co.breakpoint.jmeter.iso8583" level="debug" />

JMeter需要重新启动才能接收更改。

还要确保您可以使用telnet客户端或等效设备从运行JMeter的机器访问目标服务器主机/端口。