SQL Server – Using Perfmon with Clustering

clusteringperfmonprofilersql-server-2008-r2windows-server

I'll be going onsite to run some performance tests for a client. They have a Windows Failover Cluster, which has a clustered instance of SQL Server. Let's assume for this post that my client's Windows Failover Cluster has two nodes, as in the image below.

  1. I'll be running a server-side trace (via a tsql script generated from SQL Profiler)–I'm quite comfortable doing this. After I connect to EkTechready14.Redmond.com\MySqlInstance via SSMS and start the trace, I am of the opinion that it doesn't matter which node is active when the trace is running. Do you agree?

  2. I'll also be running Perfmon to gather some garden variety stats. Maybe for Perfmon, it does matter which node is active. Should I run Perfmon from the client access point (EKTechready14.Redmond.com)? Or from the active node (either MSDEPLOY60-01 or MSDEPLOY60-02)?

enter image description here

Best Answer

Use a server-side trace, not Profiler. Both have an impact on throughput, Profiler much more so. ClearTrace is a great tool for offline analysis of the trace files.

To answer question 1), you connect to the instance not the node. Question 2), you obviously need to gather data from the node the instance is currently running on.