Skip to content

July 6, 2009

Article: Performance Improvement – Understanding

One of my least favorite discussions in development is the discussion about performance. It’s one of my least favorite because it requires a ton of knowledge about how systems work, and either a ton of guesswork or some very detailed work with load testing. I generally say that the results you get out of any performance prediction exercise are bound to be wrong. The goal is to make them as least wrong as possible.

I’m going to try to lay out some general guidelines for performance improvement through improving understanding about what performance is, how to measure it, and finally solutions to common problems. This article will cover the core understanding of the performance conversation. The second and third articles will cover session management and caching because they have such a great impact on performance — and on what solutions you can use to improve performance. The final article in the series will focus specifically on ways to improve performance.

No series of article (or book for that matter) could cover every possible situation that you can get into with computer system performance. My background includes nearly 20 years of work with systems from a VAX running VMS to more current projects which are based on Microsoft products such as .NET, Microsoft SQL Server, and Microsoft SharePoint. The concepts in this article are applicable to any complex system; however, I use the Microsoft platform including Windows, .NET, and SQL Server.


Note: This is part 1 of a 4 part series

Active Directory Cookbook

Book Review-Active Directory Cookbook

Many people don’t know this (or care) but when I was first awarded my Microsoft MVP award it was for Windows Networking (which was pretty quickly clarified to Windows Server Networking). At the time I was working on Windows Server books and MCSE study guides of various sorts. I had the pleasure of having Emily Freet as my first MVP Lead. She introduced me to another one of her MVPs, Laura Hunter. A while ago I got a copy of Laura’s Active Directory Cookbook, 3e of course being behind I didn’t get much time to look through it – until this weekend.

One of the things that I’ve always liked about Laura’s knowledge of Active Directory, Networking, etc., is that she’s always thought about the problem not just from the perspective of “how do I do this once” but she’s always been thinking “how do I make this repeatable.” And I don’t just mean from the perspective of writing a process or a procedure. She’s been involved in some VERY large and RAPIDLY changing environments so she’s always had an awareness of the need to script things. That’s one of the things that makes the book so powerful. It’s not just going to show you how to create a user – but how to do it in mass … or via a process. Having been engaged more than once to create tools for working with AD, I can say that I honestly appreciate the work that goes into providing information about how to automate activities in AD.

If you’re looking to manage an environment over and over again … or you have clients that you work with that you want to be able to repeat your work … or you just need coverage of how to do common tasks in AD, I think you’ll find the cookbook has the answers you need.

Pro LINQ Object Relational Mapping with C# 2008

Book Review-Pro LINQ Object Relational Mapping with C# 2008

Over a year ago (I think) my buddy Vijay Mehta handed me a copy of his book Pro LINQ Object Relational Mapping with C# 2008 After he explained the title to me (no I’m not really kidding), I said thanks and put the book aside until I could think about it. Well that time was this weekend. (Yea, I’m slow.)

The problem that I was trying to solve this morning was to anchor my thoughts about LINQ and where it fits in. Yea, I know that I should have been spending more time understanding LINQ but I just haven’t had time. I learned enough to be able to read a LINQ query when I saw one in code but as far as really digging in – it just hadn’t happened for me yet. So I sat down to do a read of Vijay’s book.

The book really talks about LINQ as it relates to LINQ to SQL and LINQ to Entities (Entity Framework). Having had the pleasure of sitting across a table from Vijay I could hear his voice in the text. I quickly was able to hear him walk through the core concepts of mapping for LINQ to work both for SQL and for Entity Framework. My need wasn’t to understand how to do the mapping to create providers for SQL or Entities (yet) but I appreciated the coverage of the topics. It allowed me to see “behind the curtain” to understand what’s going on in the background when I’m writing a LINQ query.

If you’re trying to understand how LINQ fits in, how to handle your data mapping, or how to create mappings between your data and your classes – it’s a good book.

Recent Posts

Public Speaking