【问题标题】:Error in Running Multiple Threads with JPOS on JMeter for ISO8583在 ISO8583 的 JMeter 上使用 JPOS 运行多个线程时出错
【发布时间】:2020-08-24 10:22:21
【问题描述】:

我正在尝试使用 JPOS 插件为多个用户运行我的 IS08583 脚本。但是我可以在采样器结果中的输出下方找到。谁能建议在 JPOS 中需要更改哪些设置才能在多个用户上运行我的脚本而不会出现此错误。目前我只运行 2 个线程,其中一个线程成功输出,其他线程给出错误,如下所述..

线程名称:GBM_Transaction 样品开始时间:2020-08-24 15:45:13 IST 加载时间:1 连接时间:0 延迟:0 字节大小:0 发送字节数:0 标头大小(以字节为单位):0 正文大小(以字节为单位):0 样本数:1 错误计数:1 数据类型(“文本”|“bin”|“”):文本 响应代码: 响应消息:org.jpos.iso.ISOException:检测到重复键“jmeter-2d8b3043-send.120000003938777.req”

SampleResult 字段: 内容类型: 数据编码:空

【问题讨论】:

  • 嗨 Abhisnek,我不是 iso8583 模块的 JMeter 配置专家,但你只需要确保在每个线程中使用不同的密钥,密钥通常是 DE 11 和 DE41,所以你需要为每条消息使用不同的。我相信这可以通过使用 DE11 的计数器或 DE41 和 DE 11 的随机值来实现。
  • 我在哪里可以在 JMeter 中添加这些值,实际上我没有找到这些值的任何字段.. JPOS 有任何连接限制吗?先生?
  • 正如我所说,我对 JMeter 部分没有太多经验,但我相信它的页面github.com/tilln/jmeter-iso8583 有关于如何使用不同领域的信息。特别是采样器部分github.com/tilln/jmeter-iso8583#iso8583-sampler
  • 还有一个例子,在屏幕截图中为 DE11 设置随机数
  • 其实我还是不明白在哪里编辑多线程运行的值,也无法关联这个DE11概念..

标签: jmeter iso8583 jpos


【解决方案1】:

当通过同一个套接字连接发送和接收多个请求和响应消息时, jPOS 需要将响应(因为它们可能以不同的顺序出现)与请求相匹配。 它根据它为每条消息生成的密钥来执行此操作,例如jmeter-2d8b3043-send.120000003938777.req.

120000003938777 部分是(默认情况下)从字段 MTI (1200)、DE41 和 DE11(推测为 00003 和 938777)生成的。

如果您的脚本不改变这些字段,例如如建议的那样随机生成相同的密钥 对于多条消息,当 jPOS 检测到重复键时,您会收到该错误。 显然,这使得明确匹配对请求的响应变得不可能。

你可以做的是:

  • 改变字段 DE41 和/或 DE11,或
  • 如果您的消息不包含这些字段,请在“Mux 密钥配置”下的“ISO8583 连接配置”中定义不同的密钥并改变它们。

JMeter 函数 ${__time()}${__RandomString()} 对此非常有用。

另请参阅https://github.com/jpos/jPOS/blob/master/doc/src/asciidoc/ch08/qmux.adoc#mti-mapping-and-default-key

免责声明:我是 JMeter ISO8583 插件的作者。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多