An Introduction to Performance Monitoring – Why Is It Important?
All Operating Systems tend to monitor all their resources on a regular basis. In any system, the processes are considered to be the primary resource owners, and therefore, most of the performance monitoring is carried out at process-level.
The information provided is then used by the OS's to ensure efficient memory management, multiprogramming, and scheduling. Besides, monitoring the performance, it is also important to develop and refine systems, and acquire user support at time of daily operations. Records of process and OS performance may also be helpful in quantifying the system changes and allowing precise comparisons with other systems. Monitoring and comparing performance of various systems will also help to anticipate the performance of upcoming systems in future.
Performance Monitoring Tools
In order to debug the systems and processes, make system decisions, examine and evaluate systems, and manage the system resources, it is very necessary to monitor the Operating Systems’ performance. A wide range of free and paid tools are available for the purpose of performance monitoring. All these tools have been categorized into 2 broad categories; log-based and real-time. The log-based tools are mainly used to record useful information pertaining to system performance for the purpose of post-processing analysis. They are also useful for identifying the prevailing trends in system performance. On the other hand, the real-time tools for monitoring performance are used to measure the present state of the system and offer updated information regarding system performance.
- Real-Time Tools for Monitoring Performance
Real Time tools primarily monitor and display the performance of the current system. They use one specific number to depict the system performance with regard to a specified factor. Generally, these tools are dependent on the in-built system calls of the OS's to derive performance readings. Nevertheless, as a system call is typically incorporated within the OS, it tends to influence the performance of the system quite significantly. Besides, it is not very easy to alter them as the source code of the OS is not readily accessible. The following table (Table 1) gives a brief overview of the most-commonly used tools for monitoring performance in UNIX and Windows-based Operating Systems.
Table 1- UNIX and Windows-based Real-Time Tools for Monitoring System Performance – Summary
- Log-Based Tools for Monitoring Performance
The log-based tools for monitoring performance of processes and operating systems function on a model that is entirely different from the one followed by the real-time tools. They serve similar purposes as real-time tools but perform these functions at an entirely different level. Unlike real-time tools, which evaluate the status of the system instantly and assess the processes’ resource utilization, the log-based tools help in evaluating all these things in much greater detail. Without these tools, it is not possible to observe and identify the prevailing trends of performance measures. The most commonly used log-based tools for monitoring the performance of Windows & UNIX based operating systems are as follows (Table 2) -
Table 2- UNIX and Windows based Log-Based Tools for Performance Monitoring - Summary
Third Party Performance Monitoring Tools – Why Are They Important?
As far as virtualization is concerned, a wide range of third-party monitoring tools is available to evaluate the performance of VMware ESX on a regular basis. Each tool comes with a varying degree of functionality and choosing the one that will best suit your system can be a daunting task. VMware is no doubt a comprehensive virtualization framework with several in-built tools. Many may even doubt the need of third-party monitoring tools for VMware. However, it is essential and useful to make use of these tools. They help to (i) answer various questions, (ii) offer extra functionality, which VI suite and VMware ESX servers cannot provide, and (iii) present the available information in varying formats. Besides, using them for OS or any virtualization platforms require the system administrators to have a lot of prior experience.
Third-Party tools are necessary and beneficial when used with VI/VMware ESX-Servers in following cases –
- Extra historical information of over 1 year back is required
- What-If performance scenarios and modeling information is needed.
- A holistic performance overview of the ESX hosts, network, applications, and storage required.
- A unique system for performance management needs to be implemented to control and evaluate the regular performance of virtualized and non-virtualized servers.
Third Party Performance Monitoring Tools for Virtualization Frameworks
Third-Party tools are usually available in plenty. While some are free of cost, a few others are paid and can be implemented for a specified fee. Some of the most preferred paid, third-party tools for monitoring performance for VMware ESX I servers are as follows –
- VizionCore – It provides vMigrator, vCharter, vReplicator and vRanger. While vMigrator is primarily the p2V conversion tool, vRanger serves as backup app for VMware-ESX server. vCharter application, on other hand, is for performance monitoring, while vReplicator serves to replicate the SAN LUNs to other SANs.
- VD-O and Dunes VS-O – While the VD-O is useful for the VDI, VS-O is nothing but a complete package for managing the virtual infrastructure.
- EsXpress – It is highly scalable and a fault-tolerant restoration, disaster recovery, and backup solution, offering VBA, for performance management in ESX servers.
- Platespin – It offers Power Recon and Power Convert. While the former is used to collect and report on all the virtual and physical servers, the latter helps in workload management.
- Veeam – It is the most preferred performance monitoring tool. It offers Reporter, FastSCP, and Veeam Configurator. Although it is a paid tool, it does offer a number of utilities, like Veeam monitor and Rootaccess Wizard, free of cost. It offers tools for performance alerting, performance analysis, real-time monitoring of performance, statistics created using VMware API, and support for ESXi and ESX.
All the inbuilt tools of OSes come for free and can be used for performance evaluation and monitoring. The third party tools are necessary for enhancing the functions and getting a detailed performance evaluation of the processes and systems. The third-party tools are usually available at an additional cost but are truly worth every dollar spent on them. While the tools available for monitoring the performance of virtualized and non-virtualized frameworks continue to expand in number and variety, the existing tools still have a large scope of improvement in future.