Microsoft’s Windows Performance Monitor application (PERFMON) makes use of monitoring the health of the servers. So that it is very much helpful in finding out the bottlenecks in the servers. 


The following basic counters will be very helpful to find the server health check up before starting the Performance testing.


Object: Web Service

Counter: Bytes Total/sec
Description: Bytes Total/sec is the sum of Bytes Sent/sec and Bytes Received/sec. This is the total rate of bytes transferred by the Web service.
Comment: Good indicator of the level of traffic (in bytes) that the site is dealing with. Make sure you pick the web site you are concerned with in the “Instance” list, or choose “_Total” is you want to check the level of traffic on the server as a whole.
Threshold: Very difficult to give a general threshold for this counter, as it is very dependant on factors like server type, network, amount of users, etc. The best thing to do

Object: Physical Disk
Counter: % Disk time
Description: % Disk Time is the percentage of elapsed time that the selected disk drive was busy servicing read or write requests.
Comment: Shows the level of disk activity, which should really be minimal for front-end web servers in a MOSS farm, as most data is stored in the database. Again, make sure you pick the drive you are concerned with in the “Instance” list, or choose “_Total” is you want to check the level of activity on all drives.
Threshold: If the server is simply a MOSS web server, then would expect the disk activity to be minimal. The servers in the current farm I am responsible for tend to average 0.5 on this counter.

Object: Processor
Counter: % Processor time
Description: % Processor Time is the percentage of elapsed time that the processor spends to execute a non-Idle thread. It is calculated by measuring the duration of the idle thread is active in the sample interval, and subtracting that time from interval duration. (Each processor has an idle thread that consumes cycles when no other threads are ready to run). This counter is the primary indicator of processor activity, and displays the average percentage of busy time observed during the sample interval. It is calculated by monitoring the time that the service is inactive, and subtracting that value from 100%.
Comment: Indicates how busy the processor is. You would usually only be interested in the “_Total” instance for multi-processor machines, as they (generally) share the workload equally between processors.
Threshold: As always, depends on the what the servers are being asked to do on your system, but to ensure adequate response times etc. I generally like to see this average beneath 50%.

Object: Memory
Counter: Available MBytes
Description: Available MBytes is the amount of physical memory, in Megabytes, immediately available for allocation to a process or for system use. It is equal to the sum of memory assigned to the standby (cached), free and zero page lists. For a full explanation of the memory manager, refer to MSDN and/or the System Performance and Troubleshooting Guide chapter in the Windows Server 2003 Resource Kit.
Comment: Shows the amount of memory left available to the system. Recommend that you determine a good scale for this counter if you want to display it on the same graph as the counters above (using a vertical limit of 100). I tend to use a scale of 0.1.
Threshold: Dependent on system. The servers in the current farm I am responsible for tend to average about 530MB available out of the 2Gig the server has. If this dropped beneath 300MB I would start being concerned.



Object: Network Interface
Counters: Bytes Sent, Received, Total /sec

Object: IPv4
Counters: Datagrams Forwarded, Received, Sent, Total /sec

Object: TCPv4
Counters: Segments Received, Sent, Retransmitted, Total /sec

Object: Server
Counters: Pool Nonpaged Failures, Work Item Shortages

Object: Redirector
Counters: Server Sessions Hung

Physical Disk

Object: Physical Disk
% Disk Time, Avg Disk sec/Transfer, Current Disk Queue Length


Object: Processor
Counters: % CPU Time, Interrupts/sec, Processor Queue Length



Object: Memory
Available Mbytes, Page Faults/sec, Pages/sec, Pool Nonpaged Bytes