Wednesday, April 15, 2015

How To: Quickly Spot Pesky Exchange 2013 Performance Issues #MSExchange

Introduction
Have you ever wondered if there was a quick way to take a look at your Exchange 2013 environment and see potential performance problems outlined in red? Well, quick post to let the community know about a great new Exchange 2013 script that has been published to help quickly spot potential items that could get in the way of an otherwise smoothly operating Exchange 2013 environment.

HealthChecker.ps1
This is a script that Marc Nivens wrote and uploaded recently to the TechNet script gallery.  The Exchange 2013 Performance Health Checker script when executed will go out and check common configuration settings that are known to cause performance issues. These performance issues are already referenced in the Exchange 2013 sizing recommendations but we all know how well people proactively read material like this when our messaging environments are running smoothly. I know it’s not just me!

The value in this script is that the output displays what is a cause for concern in a nice red color. This is a clear signal that serves to quickly point out what we need to focus our attention on. 

I quickly ran this script against one of my lab Exchange 2013 servers and the results are below.

  • The output shows in yellow that the machine has been identified as a virtual machine (Hyper-V) and that I should check several items to ensure that my virtualization configuration is in line with best practice. The URL to the virtualization recommendations on TechNet was provided. Nice touch. 
  • The script caught that my pagefile settings are not set for optimal Exchange 2013 performance. The system was set to automatically manage the pagefile instead of manually configuring the value. You can see this clearly spelled out in red. 
  • My power plan was not set to high performance. Again, spelled out in red.
Items Reported On
Exchange Build
Physical/Virtual Machine
Server Manufacturer and Model (physical hardware only)
VM host processor/memory configuration recommendations
Exchange server roles
Pagefile Size
Power Settings
.NET Framework version
Network card name and speed
Network card driver date and version (Windows 2012 and Windows 2012 R2 only)
RSS enabled (Windows 2012 and Windows 2012 R2 only)
Physical Memory amount
Processor Model
Number of processors, cores, and core speed
Hyper-threading enabled/disabled
Processor speed being throttled
Current list of active/passive databases and mailboxes (optional)

Conclusion
The script introduces a clear value in the ability to quickly run against a single or group of Exchange 2013 servers and verify items like the pagefile settings and .Net Framework versions. I know that in large environments variations in the .Net Framework versions can cause headaches and this script is a great way to quickly spot them!

The HealthChecker.ps1 script is another great addition to the Microsoft Script Center website and I recommend that you try it out in your own environment.

After all, what configurations could be lurking that may be preventing your Exchange 2013 systems from running optimally?

No comments:

Post a Comment