Two bloggers for performance

Dustin Metzgar and Sajay Antony, our performance developers, have all started up their blogs on MSDN, which is great news to developers who are interested in WCF/WF/AppFabric performance or other fun things covered by their blogs. Dustin has just started up his blog on MSDN. Dustin has great expertise on performance tools (such as xperf,…

0

WF 4 Performance Whitepaper Published

We have just published the performance whitepaper for WF 4 at the following location: http://msdn.microsoft.com/en-us/library/gg281645.aspx We have done quite some component-level performance measurement for different activities and scenarios. Here is one snapshot that I would like to share with you: As you can see, WF 4 is 10X – 100X faster than WF 3 at…

0

Why Does WCF Become Slow After Being Idle For 15 Seconds?

Customers reported the following WCF performance issue recently: ·        A WCF service over TCP or Named Pipe idles for over 15 seconds and the first request after that becomes very slow. Why? This can be easily reproduced. Basically, if you send two consecutive requests to a WCF service over TCP or Named Pipe transport, you…

14

Why Are WCF Responses Slow and SetMinThreads Does Not Work?

Customers reported the following WCF performance issue recently: ·        A WCF client sends 10 requests concurrently to a self-hosted WCF service on 10 different threads. The service operation is very simple and it simply sleeps for 1 second. But the latencies for the 10 requests on the client side were distributed from 1 to 3.3…

2

Crack Throttling: Debugging WCF TimeoutException for a Middle-Tier Application

Recently I helped a customer with a few friends to debug a TimeoutException issue happened in their middle-tier which uses WCF proxies. The issue turned out to be simple but the experience was quite interesting and I would like to tell you how we proceeded with it. Problem The customer’s scenario is a multi-tier application…

0

WCF 4: Higher Default Throttling Settings for WCF Services

It has been quite a while that I did not write anything. This is because I was fully focusing on WCF 4. Now that we have got most of the work done, it is good time to continue my writing. Starting from this blog entry, I will show you performance related changes in WCF 4. Please…

8

Scale WCF Application Better with Asynchronous Programming

WCF is a framework that is asynchronous inside out. Internally, asynchronous patterns are used to achieve non-blocking calls between different layers inside WCF. Externally WCF exposes the asynchronous patterns for both client and service programming. Why Asynchronous Pattern? From performance perspective, it’s not always ideal to use asynchronous programming if you don’t have to. Any…

7

Why Only Two Concurrent Requests for WCF Load Testing?

This is not a new topic in the world of traditional web service usage. But I was still asked by people who use WCF. So I think it would be valuable to post a blog entry here. One of our customers asked me the following question: “We are using WCF in our application on Windows…

1

Orcas SP1 Improvement: Asynchronous WCF HTTP Module/Handler for IIS7 for Better Server Scalability

Introduction As mentioned in my last blog entry, for IIS-hosted WCF services, WCF holds the worker thread coming from ASP.NET until the whole request is completed to avoid a Denial of Service (DOS) attack. I also mentioned that on Windows 2008 Server, IIS7 has introduced the following registry setting to provide request throttling for all…

11

WCF Request Throttling and Server Scalability

Two Threads per Request In .NET 3.0 and 3.5, there is a special behavior that you would observe for IIS-hosted WCF services. Whenever a request comes in, the system would use two threads to process the request: ·         One thread is the CLR ThreadPool thread which is the worker thread that comes from ASP.NET. ·        …

13