Dr. Zhiming Xue interviews
Steve Michelotti, senior solution architect at
e.magination. Steve discusses what his team had to do to build a highly available 64-bit based web solution that supports a demanding service level agreement (SLA): more than 3 billion daily transactions, 99.99% of all transactions under 250 ms response
time. One particular challenge they faced was dealing with the garbage collection (GC) process that is normally managed by the CLR of the .NET framework. With potentially millions of .NET objects in memory, a generation 2 GC can take 5 to 8 seconds on a 64-bit
server with 16 GB memory, which quickly breaks the SLA. At their first attempt Steve and his team tried to reduce the frequency of GC occurrence. They applied several techniques such as delta refresh, minimization of boxing and un-boxing, use of object pooling,
optimization of the large object heap, and an implementation of flow control between the web tier and the application tier. To ultimately address the challenge, they worked closely with the Premier Field Engineer team and the CLR team at Microsoft, which introduced
a new feature called GC notification. With the new feature, which will be released in a future .NET service pack, they were able to deterministically take off a server from servicing any web request when a GC was pending on the server and put it back to service
rotation when ready
Follow the Discussion
Oops, something didn't work.
What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in. You need to be signed in to Channel 9 to use this feature.What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in and view them all on your notifications page.sign up for email notifications?
nice post. What is the in-memory data store which you used to accomplish this task?
Remove this comment
Remove this thread
close