BaltoMSDN September Meeting

From our friends at BaltoMSDN:

Next BaltoMSDN Meeting  

Date: 9/21/05

6:30pm - 9:00pm

Designing and Implementing High Performance .NET Applications

Designing high performance applications which much support millions/billions of transactions and extremely high throughput requires a deep understanding of all aspects of the .NET Framework, hardware infrastructure, and network design. This presentation will address each tier of a distributed application and the best practices that should be implemented for maximizing performance and scalability. It will cover everything from implementing efficient code and optimizing the JIT compiler to high volume clustering and NLB algorithms. While every application is different in terms of complexity, this presentation will illustrate common best practices that can be implemented to achieve maximum performance metrics. The following topics will be presented:

Coding for performance:
- how to avoid unnecessary boxing/unboxing
- implementing custom high performance collections
- implementing micro-benchmarks
- NGEN versus JIT compilation
- garbage collection on multi-processor servers
- introduction to Rotor and the shared source CLI implementation
- avoiding the Reflection API
- analyzing your code (examining cyclomatic complexity and various other attributes)

Web Tier:
- HttpHandler versus IHttpAsyncHandler
- enhancing the HTTP Pipeline
- the ASP.NET thread pool versus the CLR thread pool
- tweaking machine.config for performance

Inter-tier communications:
- Which method should you implement?
- .NET Sockets best practices
- when you must use unmanaged code / IO Completion Ports
- Remoting best practices
- MSMQ best practices

Application Tier:
- Clustering/NLB
- Clustering best practices
- implementing efficient NLB (routing, unicasting, and multi-casting)
- implementing an efficient SAN mechanism (copper versus fiber optic and other issues)
- effective logging and instrumentation

Data Tier:
- Database clustering
- using a real time database (TimesTen) / implementing high performance caching systems

Presented by:
Mike Richardson, the Director of Microsoft Technology for ALTERthought, Inc.

Mike Richardson is the Director of Microsoft Technology for ALTERthought, Inc. in Richmond, VA and is the president of the Richmond.NET User Group. He has been designing highly scalable applications using Microsoft technologies and J2EE for the past 10 years. His main areas of expertise include developing high transactional .NET distributed applications, Web Services, .NET and J2EE interoperability, and self-optimizing networks. In his free time, he continues to work on developing a .NET LISP compiler, which is now going on three years and will probably never be completed, as well as wasting massive amounts of time on XBox Live.


System Source
338 Clubhouse Road
Hunt Valley, MD 21031