Browse by Tags

Tagged Content List
  • Blog Post: Sample ETW trace for WCF

    You can see How do I collect an ETL trace for WF/WCF? for the commands or you can download the sample trace from here. Open the trace using the following command line or File –> Open and load the manifest from the Framework folder or launch the following from the command line.  SvcPerf.exe wcf...
  • Blog Post: Introducing SvcPerf - An End-to-End trace Analysis tool for WCF

    Standardizing on ETW In 4.5 we introduced ETW tracing for WCF. In the past couple of months we have been trying to establish some common tools that can be used to debug and analyze ETW traces from WCF. We have a large number of tools that allow ETW analysis and the one aspect we wanted to do was to...
  • Blog Post: Efficient Buffer management – Reduced LOH allocation

    BufferPools http://kennyw.com/indigo/51 I’m going to talk about the internals of WCF Bufferpooling as it stands today. Kenny and Andrew already have a posts on bufferpooling that cover them at a higher level. Here I dive into how the bufferPool was optimized further for working with the large object...
  • Blog Post: Debugging Assembly loading

    Does a referenced assembly get loaded if no types in the assembly are “not used”? The term used is is very subjective. For a developer it would mean that you probably never created an instance or called a method on it. But this does not cover the whole story. You can instead consider what are the reasons...
  • Blog Post: Checkin #199390

    Here is something for you performance guys. This was a hard one to crack but. Let me know what you think of this and how you would like to see this evolve. It will be a while before this is actually available. Thanks to Wenlong for driving this all the way and for being our custodian for...
  • Blog Post: Are connections pools shared between ChannelFactories?

    NO!! You can find out about the connection Pool settings here and you can check Kenny’s post on how connection pooling works.
  • Blog Post: How to throttle callbacks or completions?

    WCF enables throttling execution of operations but not their completions. This becomes and issue when a large number of outstanding operations complete almost simultaneously causing the callback on the client to be overwhelmed with completions.  Generally we don’t expect the client to issue of infinite...
  • Blog Post: ServiceHosts & executing Operations from a crash/hang dump

    Incase you are not sure of how to debug managed code with with a crash/hang dump, then you most likely need to read this first. Once you have SOS and mscordacwks(.net 3.5 and up)  loaded you first dump the heap to find out if you have any services hosts at all. We quickly find the method table entry...
  • Blog Post: How to optimize Message Copy using CreateBufferedCopy?

    Problem Statement Some broker implementations require creating a copy the message forwarding it over to the backend. The broker also might slightly modify things like addressing headers etc. on the message for proper message routing within the DMZ. The problem is that we see a very high CPU cost in creating...
  • Blog Post: Router Implementation – Message Forwarding – Copy/Pass through

    For greater flexibility our router can be something like a pass through router. If we are just calling a backend service then we can use a generic contract to receive and forward messages to the back end service as shown below. Here we create a copy of the message to consume locally on the broker incase...
  • Blog Post: Router Implementation – Strong Typed with Message Forwarding

    I use the term broker and router very loosely here since they follow very similar guidelines as described here - WCF Broker Overview . Apologies for not being very rigid with these terms. I will dive into best practices of building a router by progressing from a very simple implementation to a robust...
  • Blog Post: WCF Broker Overview

    A broker is usually a central point for message forwarding and pass-through for clients and backend services. There are many types of brokers that come into mind Security broker – Usually a gate check for incoming message which transitions from one security protocol to another without mucking with the...
  • Blog Post: Fixed Ideologies and Message exchange patterns

    I had never thought that I would actually write about a topic like this but sometimes you want to organize your thoughts and have an opinion on things. Being in the performance team for WCF has got me used to a plethora of message exchange patters which we lovingly refer to as MEP. There exists a broad...
  • Blog Post: How to change the IdleTimeout/LeaseTimeout on NetTcpBinding?

    To modify properties that are not exposed on the standard binding we can create a CustomBinding from the provided standard binding. We can then find the element required on the particular CustomBinding and tweak it. Another option would be to just hand craft the full standard binding if you know exactly...
  • Blog Post: Concurrent Receives - MaxPendingReceives

    Note: Cross posted from Sajay . Permalink One of the performance improvements we did with WCF 4.0 was to enable concurrent receives. This greatly helps scenarios where we need to do some kind of work like DB authentication with username passwords or custom channels that may need to log something....
Page 1 of 1 (15 items)