WCF headers as properties

  Some years ago my then boss was going on vacation. Before he left he asked me to investigate how to improve the performance of a WCF service that was being developed at Microsoft. So I did due diligence and talked with the owners of the system and they mentioned that at some point in the…

0

Performance notes for MongoDB

Some performance tips for improving your usage of MongoDB  I spent the past year working with MongoDB. Since our service was used for Halo and Call of Duty we had very aggressive scale and performance targets. So as part of our stress runs we identified some scalability issues that had their root cause in our…

0

How do indexes work in MongoDB

This year I have been working on Xbox Live Compute (or Thunderhead as we know it internally). This is a product that uses MongoDB as its main Database. So I have had to learn how to investigate performance and scalability issues with this document DB. It’s been very fun! Here are some of my learnings…

3

Azure Event Hub / Service Bus Performance – Http Batch Send 2

After the previous post on Http Batch send for Service Bus I received some emails with questions. I looked at the msdn documentation for both Service Bus and Event Hub and noted they are missing some information. Event Hub documentation does not even mention Batch Send. So here is another post about Batch Send.  …

2

What does a performance developer do at Microsoft?

 Someone was just asking me this question the other day so I figured that I would answer it here for people that are interested in this role inside and outside the company.   I have been a performance developer at Microsoft for a little more than 4 years. During these years I have done performance…

0

Improving Latency in Http Proxy scenario

Stream to stream copying is a scenario that is not straightforward to implement. It is especially important in a Proxy scenario. Proxy Let’s start from the beginning. What is a proxy? A server that acts as an intermediary for requests from clients seeking resources from other servers (Wikipedia)   There are many reasons why you…

0

ASP.NET Precompilation: Speeding up Orchard cold start

 Orchard is a “Content Management System” that you can use to easily host/customize your content (such as your blog for example). It is built by Microsoft and built on top of ASP.NET MVC. It is one of the Microsoft open source projects so it has a great community and many external modules you can easily…

1

Optimizing memory footprint: Compression in .Net 4.5

Performance is about tradeoffs. If you need to do something faster you can probably do it if you use more memory. If you need to reduce the space that your data is using you can use CPU to compress it. But you will be paying the CPU cost. When I was working on Azure Service…

0

Azure Service Bus Performance – Http Batch send

One of the easiest ways to increase throughput when using Azure Service Bus is by using the client-side batching feature in the Service Bus protocol (as you can read in our recommendations for increasing throughput). This feature reduces the number of protocol transmissions by batching many messages into one. Note that you will still have many…

1