适配器降低BizTalk的速度

适配器降低BizTalk的速度,biztalk,biztalk-2010,Biztalk,Biztalk 2010,我遇到了BizTalk适配器速度慢(自定义)的问题 每晚,一个应用程序在几分钟内向MSMQ发送超过10000条消息。 不幸的是,BizTalk需要数小时才能处理它们 我没有任何编排,只是将消息路由到几个方面。 对于一方来说,我们必须开发一个自定义适配器,但是这个适配器/接口非常慢。 因此,我认为BizTalk会自动限制整个应用程序,并且只从队列中读取它可以通过这个速度较慢的适配器发送的消息 因此,MSMQ清空需要几个小时 如果停止此慢速适配器,例如仅启用写入本地文件系统的文件适配器,则需要几秒钟

我遇到了BizTalk适配器速度慢(自定义)的问题

每晚,一个应用程序在几分钟内向MSMQ发送超过10000条消息。 不幸的是,BizTalk需要数小时才能处理它们

我没有任何编排,只是将消息路由到几个方面。 对于一方来说,我们必须开发一个自定义适配器,但是这个适配器/接口非常慢。 因此,我认为BizTalk会自动限制整个应用程序,并且只从队列中读取它可以通过这个速度较慢的适配器发送的消息

因此,MSMQ清空需要几个小时

如果停止此慢速适配器,例如仅启用写入本地文件系统的文件适配器,则需要几秒钟来处理来自MSMQ的数千条消息

是否可以调整BizTalk以更快地处理传入消息,并限制此发送端口的传出消息?不幸的是,由于一方速度慢,所有其他方都必须等待消息

谢谢你的建议

致意
Michael

您可能会遇到基于速率的节流情况()。当发布速率(传入邮件的速率)超过传递速率*速率超速驱动因子(发送邮件的速率*限制百分比)时,会发生这种情况

避免此限制状态的一种简单方法是在BizTalk主机配置设置中增加速率超速驱动因子。这可能不是最佳做法,因为听起来您需要将速率超速驱动因子设置为非常高的值,这可能会产生其他影响


另一种选择是将发送端口/适配器分离到它自己的主机实例上,具体取决于解决方案的体系结构。由于节流是在每个主机实例的基础上执行的,因此分离此特定适配器的处理意味着它将不再影响通过标准适配器功能传递给其他方的消息的性能。

我可以想出一种体系结构方法来帮助您解决此问题,特别是考虑到你的评论:

是否可以调整BizTalk以更快地处理传入消息,并限制此发送端口的传出消息不幸的是,由于一方速度慢,所有其他方都必须等待消息。

对于每个参与方,创建一个新的MSMQ“参与方队列”,并从传入(大消息量)队列直接写入该队列-一个具有多个“参与方”发送端口的单个接收端口/位置,订阅传入消息并写入各自的“参与方队列”

现在,您可以读取每个“参与方队列”,并使用相关的发送端口(如果需要,使用慢速适配器)发送消息-这应该比使用单个发送端口快得多;实际上,您将从发送端解除接收端的耦合


<>我也会考虑检查你的主机/主机实例策略,以确保你与节拍透视图有适当的分离。默认情况下,

BizTalk应该以这种方式工作(即独立发送端口),除非你有某种排序或排序机制(有序传送,单点传送等)。当批处理到达时,您是否可以检查主机的消息发布和传递限制状态,例如使用?BizTalk可能正处于节流状态,因为假脱机表的使用率很高,这会影响流经BizTalk的所有消息。谢谢你,Brett,我已将发送端口/适配器移动到专用主机实例