A customer is having intermittent crashes within their production environment. Whilst this post is probably not related to their crash, it's something I haven't been able to explain.
Their system uses .NET remoting to communicate between tiers - in the attached picture, the transaction flow is showing considerable Inter Tier Time. This suggests that there's either network latency or missing infrastructure in the transaction.
However, the tier is actually using .NET remoting to communicate with the same machine.
Has anyone had a similar experience with this? I don't understand why there would be such large inter-tier time when it's on the same physical machine.
Any suggestions would be greatly appreciated.
Hmm, not a lot of information to go on. We'd need an export of the purepath. At a glance I see that there are 128x calls in this one transaction. Each one breaks down to 41ms AVG; which seems fine but high for communication on the same machine. You can get the details of that specific portion of the flow by using the context menu (right click) and selecting details. It might give you more information.
I've recently seen a similar behavior. Problem was that the thread pool size of these .NET Remoting services was not big enough. If you have 128x calls for a single PurePath I assume most of them are actually called asynchronously - meaning - you are "occupying" a lot of threads and connections between these two processes. Assuming that this is not the only transaction that does that I am pretty sure you are running out of available worker threads.
Have a look at the Thread Count on both CMSWeb and CMSService and also check whether these .NET Remoting Calls are done async or sync