【问题标题】:HTTP Send port timing out in BizTalkBizTalk 中的 HTTP 发送端口超时
【发布时间】:2017-09-16 05:47:09
【问题描述】:

我有一个为 HTTP 配置的静态单向端口,它将 XML 文档发送到外部网站。它已经运行了一年多,但最近它一直在抛出错误

HTTP 发送适配器无法在指定时间内完成传输。目的地:https://xyz.example.com

我已尝试延长发送端口的超时时间,但错误不断发生。供应商说他们端没有任何变化,我没有对服务器进行任何更改,网络团队说也没有进行任何更改。

我已经使用 PostMan 测试了界面,每次尝试它都能正常工作。 恢复消息没有任何作用,因为我得到了同样的错误。我注意到的是,如果我重置主机实例,那么消息就会开始流动。

有什么线索吗?

【问题讨论】:

  • 端口是否配置了ordered delivery?

标签: biztalk


【解决方案1】:

也许您有很多 HTTP 请求并且已激活出站限制?检查与 BizTalk:MessageAgent 性能对象类别关联的性能计数器消息传递限制状态,以测量当前的限制状态,看看它是否不同于 0。

Host Throttling Performance Counters

How BizTalk Server Implements Host Throttling

【讨论】:

  • 我在 3 小时内有几条踪迹,抓取了各种计数器。除了 0 之外,该状态从未变为任何状态。我将专注于节流状态,并抓取一整天的踪迹,看看是否有任何显示。谢谢
  • 获取与为 HTTP 配置的静态单向发送端口关联的主机的“消息传递限制状态”,该端口将 XML 文档发送到外部网站。
  • 我不知道这张图片是否有很大帮助,但我跟踪了一整天的节流状态和 HTTP 发送适配器。在下午 4:40 左右,消息开始超时。唯一可以确定的是,如果我反弹您可以在图像中看到的主机实例。 Does this image tell you anything
  • 您能否在性能计数器中添加“消息发布限制状态”?好像发送没有问题。
  • 我添加了消息发布限制状态,似乎没有从 0 更改您可以在中部标准时间 10:30 左右 see 我退回服务并恢复所有排队的消息,然后服务器去了恢复正常。在这一点上,我看不出它还有什么可能,除非你能想到其他可能的东西,否则我可能不得不联系我的网络团队。
【解决方案2】:

在跟踪 3 上,值为 1,然后是“由于消息传递率不平衡而受到限制”。这意味着“主机实例的消息传递传入速率超过消息传递传出速率 * 指定的速率过载因子(百分比)”。发送端口无法像接收新消息那样快速发送消息。

您可以使用性能计数器检查这两种速率:

您可以在主机属性中增加“速率过载因子(百分比)”以允许更多负载,默认为 125(输入速率可以比输出速率高 25%,然后开始节流):

或者调整采样窗口持续时间或最小采样数。这取决于您的负载行为。

【讨论】:

  • 你说的很有道理。唯一让我觉得可能不是这样的事情是我得到的错误是 HTTP 超时,这会向我暗示接收者的消息超载?我将添加您建议的新痕迹,看看我能看到什么。谢谢!
  • 关于这个问题的消息?消息传递性能计数器如何?
  • 感谢您的跟进。我已经捕获了跟踪,我可以看到传入速率高于传递速率,然后突然限制将使用代码 1 启动。现在我试图弄清楚为什么传入速率高于传出速率。我也一直在捕获 CPU 和内存,看看是否存在相关性。但是,错误仍然是 HTTP 超时的事实让我认为这是网络的问题。一旦我排除了问题发生时CPU和内存都正常,那么我想我可以说这是一个网络问题。
  • 错误发生了 2 次,并且 CPU 和内存正常,同时发生限制。我认为可以肯定地说网络上有问题导致发送端口无法建立连接。关于如何在不涉及我的网络团队的情况下确定这一点的任何线索?我可以在服务器本地做些什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
  • 1970-01-01
  • 2023-03-28
  • 2021-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多