Best practices for using HttpClient on Services

Since HttpClient was released back in 2012 it’s become the recommended way of talking to the web from C#. It follows the HTTP standard very closely and has very good support for the async programming model. During my years working in Services I’ve seen it used a lot. Sometimes people hit the same problems. Here…

0

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

Why MongoDB?

Recently I had to give an internal talk on why our team uses MongoDB as its database. Relational Databases: I had experience with SQL Server of course and when I worked in Azure Service Bus I learned how cool SQL Azure can be (or Microsoft Azure SQL Database as it’s called now). It’s really a…

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

Using Service Bus / EventHub from Android devices

Last summer we had Jimmy Campbell join the Fundamentals team for a couple of months as part of his internship with Microsoft. I was assigned as his mentor and since I was working for the Azure Service Bus team I chose his project to be “Amqp for Android”. Jimmy did such a fast job that…

2

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