This project has moved. For the latest updates, please go here.

BBW proxy crashes - troubleshooting/perfmon

Oct 25, 2013 at 7:44 AM
I’m currently performing some benchmark tests, After invoking BizTalk with a heavy load, the client WCF application proxy crashes:
WCFTransport encountered an exception System.ServiceModel.CommunicationObjectFaultedException: The communication object, System.ServiceModel.Channels.ClientFramingDuplexSessionChannel, cannot be used for communication because it is in the Faulted state.
 
Server stack trace: 
   at System.ServiceModel.Channels.CommunicationObject.ThrowIfDisposedOrNotOpen()
   at System.ServiceModel.Channels.OutputChannel.BeginSend(Message message, TimeSpan timeout, AsyncCallback callback, Object state)
   at System.ServiceModel.Dispatcher.DuplexChannelBinder.BeginRequest(Message message, TimeSpan timeout, AsyncCallback callback, Object state)
   at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.StartSend(Boolean completedSynchronously)
   at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.FinishEnsureOpen(IAsyncResult result, Boolean completedSynchronously)
   at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.StartEnsureOpen(Boolean completedSynchronously)
   at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.FinishEnsureInteractiveInit(IAsyncResult result, Boolean completedSynchronously)
   at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.StartEnsureInteractiveInit()
   at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.Begin()
   at System.ServiceModel.Channels.ServiceChannel.BeginCall(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, TimeSpan timeout, AsyncCallback callback, Object asyncState)
   at System.ServiceModel.Channels.ServiceChannel.BeginCall(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, AsyncCallback callback, Object asyncState)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeBeginService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
 
Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at WcfTransport.IChannelAsyncNonTransactional.BeginSend(Message msg, AsyncCallback callback, Object state)
   at WcfTransport.WcfClientAsyncNonTransactional.SendMessage(Boolean notUsed, Message loadgenMessage)
, Message No = 2158
According to another post (http://bbw.codeplex.com/workitem/7949), this can be due the fact that the receiver handler is being throttled.
After configuring perfmon analytics, we can see that there is some throttling present:

Image

We can see that the latest message is received around 9:52:09 (BTS tracking could confirm this).

Message delivery throttling state 1: Throttling due to imbalanced message delivery rate (input rate exceeds output rate).
Message publishing throttling state 2: Throttling due to imbalanced message publishing rate (input rate exceeds output rate)

We can see that there is some throttling present in BizTalk, but I’m not convinced that this is related to each other. I would expect some throttling around 9:52, so that would confirm the failed connection after a few minutes.

BBW also offers a .reg file that would limit BizTalk throttling, I executed that file.

Is there anyone who have a clue about this?