Wednesday, July 20, 2016

Performance Testing Monitors


Windows

CPU -   % Processor Time – % of the Processor being utilized
CPU -   % User Time – % of the processor being occupied by user (Processor Time – User time will yield         the OS time)
CPU -   %Idle Time - % of the time the Processor is free
Memory –         Available Bytes (Total free RAM)
 Committed Bytes (Total RAM that is occupied)
Page Faults –
The total no of times the Page was requested ( If the page is found in the RAM, it is called Soft fault, if it is not found in the RAM and has to be retrieved from the hard disk, it is called hard page fault. More Soft faults means the pages are read from RAM which is good. If hard faults are more, it indicates that less RAM)
Disk – Reads per Second (No of times pages were read from the Disk in a second)
            Writes per Second (No of times pages written to Disk in a second)
            %Disk Busy – Total % of time the disk was busy
 Avg Disk Queue Length – If the disk is already in use, and another request is made to access the disk it will be in the Queue. Disk Queue length indicates the length of the queue. High Disk queue length indicates a bottleneck and somewhere either more logging is enabled or the RAM is too less.
 IO per Second – Reads + Writes / Sec
Network – Bytes Sent per Sec (Total bytes sent on the network card in a second)
 Bytes Received per Second (Total bytes received on the network card in a second)  
Total Bytes per Sec (Total bytes transmitted over the network card in a second)
 TCP – packets retransmitted (Total amount of packets retransmitted, if more retransmission are happening, it indicates a network issue (the receiver could not acknowledge the receipt of the packets)), TCP – Connections Established (total no of TCP connections established, should be in the same pattern as user load)
TCP – Active Connections (total no of connections established by the physical machine to any other servers)
 TCP – Passive Connections (Total no of connections established from other servers or machines to the machine)
 TCP – Connections Reset (Total no of connections that were reset, More Connection resets indicates a network issue or Port unavailabiltiy)
Processor Queue Length (from System counter) – Indicates the length of the processor queue, ideally the average value should not be more than double the no of processors.
If we are monitoring the Web/APP/DB servers, we can also add the Process counter in the perfMon and select all the above processes to know the CPU, Memory utilization at the process level. For example, if we are monitoring the Apache Server, we can go to the Processor Object, select the Apache Process and select the counters like % Processor Utilization, % User time, committed bytes etc.
To monitor the Windows resources, we use PerfMon a built in utility in Windows OS.

UNIX Flavors:

CPU – User Time, System Time, Idle Time
Memory – Free Memory, Cached Memory, Swapped Memory (if this counter is increasing, it indicates the RAM is less)
DISK – KB Read/Sec, KB Write/Sec, IO/Sec
Network – Rx Bytes (Received Bytes), Tx Bytes (Transmitted Bytes) on various Ethernet cards.
TCP – Connections established, Connections Reset, Active Connections, Idle Connections
Note: These names may vary based on the flavor of the OS. But these names should be fine.
We use VMSTAT to get the CPU and
MEMORY statistics and IOStat to get the Disk statistics,
NETStat –s -t, netstat –I to monitor the Network and TCP statistics.
We can connect to the UNIX machine through PUTTY and execute these commands which write the output to a log file. Later these log files can be brought to Local machine through another utility named WinSCP, which provides the UI for the UNIX file structure.

Apache Server:

Ready Children – Total no of available threads (in windows) / Processes (in UNIX flavours) to serve the incoming requests
Busy Children – Total no threads/processes that are serving the incoming requests
Total Children – Ready Children + Busy Children
Configuration File: Http.conf (in Windows) or httpd.conf (in UNIX flavors)
Important configuration elements that can be set:
Max Clients - Maximum no of clients that can be established
Start Servers – The total no of processes that will be started when the Apache server is started
MinSpare Servers – The minimum no of servers that should be avialable to serve the new requests. If this value is set to 10, there should be always 10 new processes available to take up the new load. If this value is coming down, the new processes will be invoked automatically.
MaxSpare Servers – The maximum no processes that can be kept idle. If this value is set to 20, and the total ideal processes are 45, it will terminate 25 processes and the idle processes will comedown to 20.
Threds per Processes – The maximum no of processes that can be established per processes (applicable on Windows only)

Keep Alive (ON/OFF) – Based on this value, the connection will be closed after processing a request. If this is set to on, it will wait for another request till the KeepAlive Timeout setting. If no request is sent until the KeepAlive Timeout value, the connections will be closed automatically. This will help reduce the CPU time to establish a new connection.

No comments:

Post a Comment