BizTalk 2010 WCF BasicHTTP发送端口需要很长时间

BizTalk 2010 WCF BasicHTTP发送端口需要很长时间,biztalk,biztalk-2010,biztalk-wcf,Biztalk,Biztalk 2010,Biztalk Wcf,我有一个使用双向WCF BasicHttp发送端口调用WCF服务的编排。出于测试目的,我的WCF服务只接受一个参数,并返回一个值,因此我知道它没有任何耗时的逻辑。事实上,使用WCFTestClient工具,我知道WCF服务调用只需要几毫秒 当我在编排中调用WCF服务时,发送形状大约需要7秒左右,接收形状大约需要7秒左右。例如,我在编排中花费的时间可能是15秒,而wcf服务的发送和接收形状占据了其中的90秒 我唯一能想到的是,我的主机上的轮询设置出了问题。我有3台主机,1台用于发送端口,1台用于接

我有一个使用双向WCF BasicHttp发送端口调用WCF服务的编排。出于测试目的,我的WCF服务只接受一个参数,并返回一个值,因此我知道它没有任何耗时的逻辑。事实上,使用WCFTestClient工具,我知道WCF服务调用只需要几毫秒

当我在编排中调用WCF服务时,发送形状大约需要7秒左右,接收形状大约需要7秒左右。例如,我在编排中花费的时间可能是15秒,而wcf服务的发送和接收形状占据了其中的90秒

我唯一能想到的是,我的主机上的轮询设置出了问题。我有3台主机,1台用于发送端口,1台用于接收端口,1台用于业务流程。每个都使用默认配置进行配置

此外,我的发送端口的打开、发送和关闭超时设置分别为5、4和3秒。这两个操作都没有超时,我确信问题不在wcf服务本身,而是在BizTalk或我的BizTalk解决方案中

在下图中,请注意sndGetDemographics和RecGetDemographics响应分别需要7秒左右的时间完成:


在我看来,你的管道是罪魁祸首。 如果您使用的是XMLTransmit/XMLReceive,请尝试使用PassThruTransmit和PassThruReceive管道

在我看来,这是因为发送端口的接收事件在计时方面是完美的,只有发送事件需要时间


可以肯定的是:您没有使用任何特殊的WCF行为/检查人员?

在我看来,您的管道是罪魁祸首。 如果您使用的是XMLTransmit/XMLReceive,请尝试使用PassThruTransmit和PassThruReceive管道

在我看来,这是因为发送端口的接收事件在计时方面是完美的,只有发送事件需要时间


请确定:您没有使用任何特殊的WCF行为/检查工具?

我发现了我的问题。由于其他各种组件都相当详细地写入事件日志,我以前没有注意到这一点,但BizTalk似乎正在限制我的一些主机实例(我有3个,一个用于接收,一个用于发送,一个用于业务流程),作为其他方面的副作用

为了进行测试,我使用了一个文件适配器的发送端口,将接收到的消息输出到一个目录。随着文件量的增加,文件系统变得非常缓慢,导致发送端口实例花费很长时间,在某些情况下会挂起。这导致消息框增长。BizTalk看到了增长,决定限制主机实例,以便以较慢的速度发布消息,这解释了为什么wcf服务调用的发送和接收形状需要很长时间


在本课中,我学到了很多关于BizTalk节流的知识!此外,在发送端口上使用文件适配器时要非常小心,并且要引起争议。

我发现了我的问题。由于其他各种组件都相当详细地写入事件日志,我以前没有注意到这一点,但BizTalk似乎正在限制我的一些主机实例(我有3个,一个用于接收,一个用于发送,一个用于业务流程),作为其他方面的副作用

为了进行测试,我使用了一个文件适配器的发送端口,将接收到的消息输出到一个目录。随着文件量的增加,文件系统变得非常缓慢,导致发送端口实例花费很长时间,在某些情况下会挂起。这导致消息框增长。BizTalk看到了增长,决定限制主机实例,以便以较慢的速度发布消息,这解释了为什么wcf服务调用的发送和接收形状需要很长时间


在本课中,我学到了很多关于BizTalk节流的知识!此外,在发送端口上使用文件适配器时要非常小心,并且要引起争议。

在访问其消息框时,可能会出现数据库访问问题。我试着检查一下BizTalkMsgBoxDb数据库。可能您的表中有很多条目或索引问题。如果我找到更精确的答案,我将作为答案发布。您能运行SQL查询以获取BizTalkMsgBoxDb中的表大小,并查看其中一个是否异常大吗?能否尝试将第二个发送/接收直接放在编排中第一个发送/接收之后的同一服务上。如果运行速度明显加快,可能会有一些初始化成本?我看不到我所在的图形,但我会指出,形状时间并不总是准确的。要确认,请保留一个计时器并写入事件日志条目或类似内容。还有,这是每一次,而不仅仅是第一次吗?@Jason Hyland-我不认为这是初始化成本,因为这发生在每个实例上。可能是访问其消息框时数据库访问问题。我试着检查一下BizTalkMsgBoxDb数据库。可能您的表中有很多条目或索引问题。如果我找到更精确的答案,我将作为答案发布。您能运行SQL查询以获取BizTalkMsgBoxDb中的表大小,并查看其中一个是否异常大吗?能否尝试将第二个发送/接收直接放在编排中第一个发送/接收之后的同一服务上。如果运行速度明显加快,可能会有一些初始化成本?我看不到我所在的图形,但我会指出,形状时间并不总是准确的。要确认,请保留一个计时器并写入事件日志条目或类似内容。还有,这是每一次,而不仅仅是第一次吗?@Jason Hyland-我不认为这是初始化成本,因为这发生在每一个实例上。