Browse by Tags

Tagged Content List
  • Blog Post: Performance Monitor Issues

    Performance counters are an essential part of any Windows programmer's diet. They have been around forever and the infrastructure is rarely updated (last time I think was in Vista). IT pros couldn't live without them. Performance and stress testing rely on them. They are a very important part of Windows...
  • Blog Post: Capturing a profile in production based on ETW events

    ETW has many uses. Filtering allows you to get only the events you want and an out-of-process consumer can listen for those filtered events. ETW can also be used for profiling native and managed code. It can sample stacks and mark context switches. That data can be combined with other ETW providers such...
  • Blog Post: The server rejected the session-establishment request

    Here is an interesting WCF exception you may have encountered before. In my case we were looking into a performance issue for a client. Environment This setup is pretty common. A set of load-balanced web servers is talking to a load-balanced WCF middle tier. The middle tier interacts with the...
  • Blog Post: Azure Remote PowerShell

    This post is about how I created a utility that allows me to send PowerShell commands to a specific Azure instance without the need to publicly expose a port or use Azure Connect. First, I think I should explain why I did this. In performance analysis, the more information you can capture, the...
  • Blog Post: Request threading in ASP.NET and WCF

    From the perspective of a WCF developer, the interaction between WCF and ASP.NET can be a black box. But to understand the performance of a system, it is necessary to know how all the components interact. This post covers how threads work when a request is sent to a WCF service hosted in IIS. This...
  • Blog Post: IIS Express saved my presentation

    Our team just got back from a fun trip to Portland, OR to attend the Portland Code Camp . Glenn Block did a great job of putting this together and it was an exciting opportunity to meet developers outside of the Microsoft bubble. A fairly large group of us from the AppFabric/WCF/WF team were able to...
  • Blog Post: WCF scales up slowly with bursts of work

    A few customers have noticed an issue with WCF scaling up when handling a burst of requests. Fortunately, there is a very simple workaround for this problem that is covered in KB2538826 (thanks to David Lamb for the investigation and write up). The KB article provides a lot of good information about...
  • Blog Post: Automatic Decompression in WCF

    WCF services that are hosted in IIS can take advantage of compression without making any special encoder changes . In Windows Server 2008 R2, IIS compression is actually turned on by default and WCF as of .Net 4.0 supports decompression by default. So if you've got a WCF web-hosted service on a W2K8R2...
  • Blog Post: Protocol Buffers and WCF

    WCF performance has many aspects. In the previous series I explored how using GZip/Deflate compression can increase performance in areas with low network latency. However, the penalty is that the CPU utilization is much higher. Therefore, it does not apply to many people's situations. Instead of compressing...
  • Blog Post: Compressing messages in WCF part four - Network performance

    The aim of compressing the messages sent from a WCF service is to reduce the amount of traffic on the wire. You could be doing this because you're in a hosted environment such as a cloud service and you have to pay for bandwidth. The tradeoff for compression is an increase in CPU usage. In this post...
  • Blog Post: Compressing messages in WCF part three - Performance analysis

    In this post, I will run a client and service with the GZipMessageEncoder on the same machine and analyze the performance. The WCF sample application for GZipMessageEncoder has been suitable up until now for functional testing. For performance testing, I will be using a harness we commonly use for...
  • Blog Post: WF4 instance state size is smaller than WF3

    Part of the performance enhancements made in WF4 are in the size of the workflow instance state. There are a number of contributing design decisions: Separation of workflow definition from workflow instance - I like to think of this as the separation of a class and an object. WF3 keeps the workflow...
  • Blog Post: Workflow performance tips: long-running custom activities

    Custom activities that perform long-running work can affect workflow performance in unexpected ways. Understanding WF's threading model and scheduler can help activity authors make informed decisions about their code. This post intends to shed some light on the negative performance impact when a custom...
  • Blog Post: Workflow performance tips: custom CacheMetadata

    When writing custom activities for WF4, the latest revision of Windows Workflow, new to the .Net 4.0 Framework, you can cut some performance costs by overriding the CacheMetadata method. By default, CacheMetadata will use reflection to determine what properties are available as in/out arguments and setup...
  • Blog Post: First async call from WCF client always takes more than 1 second

    This is one of the first issues I got to investigate on the WCF/WF performance team. Customers reported that (in .Net 3.5 and earlier), the first asynchronous call from a WCF client was taking over 1 second each time, even with synchronous calls happening before it. The problem can be easily reproduced...
Page 1 of 1 (15 items)