Virtualization came as a boon to the IT industry. In turn, many organizations have benefited from making investments in setting up and leveraging a virtual infrastructure. Being able to show a strong ROI & delivering consistent performance and availability of a virtualized environment is one of the top priorities for any IT or virtual admin. Despite its advantages, the virtualization infrastructure can have its own issues causing performance bottlenecks, resulting in VM & application downtime. Here are some best practices on how to address them:
Datastore IOPS & Latency:
Latency occurs at various levels of the VM architecture & storage stack. Latency occurs due to:
- Increased resource contention:
Storage systems have a limit of sizing and can only handle a certain workload limit. If the VM-workload increases from one VM to another, this can cause performance problems with the shared storage IOPS at the data center or storage layers that impact other VMs on shared resources.
- Improper configuration:
When settings like cache size, and network-specific settings for iSCSI (Internet Small Computer System Interface) & NFS (Network File System) aren’t properly set or the host is configured with the wrong multi-pathing policies, performance issues can occur.
- Architecture Isn’t properly designed:
If the storage architecture isn’t properly designed, then it can’t support the VM workload. Poorly configured architecture examples include: low RPM HDDs using a high RAID level that has high write or array caches that aren’t sizeable, etc. Problems that occur in the physical server can impact the application layer as well. Therefore, it’s important to understand how VMs will react to your physical server.
To overcome latency, it’s important to monitor LUNs, the datastore, arrays, etc. Rather than just monitoring, it’s also important to understand high volume transactions that consume most of the server’s resources and impact performance. Lastly, define IOPS limits to avoid the VM flooding the array.
Memory Ballooning or Swapping:
The hypervisor or host allocates memory resources to all of its VMs in the infrastructure. As a result your Hypervisor uses a balloon driver, which actually resides in your guest OS. This balloon driver searches for free memory available in the VM. Once the balloon driver finds the free memory space, it pins (or reserves) the memory available so that the VM doesn’t consume the pinned memory. Then the balloon driver communicates to the Hypervisor to take back the pinned memory. This allows the pinned memory to be allocated to another VM.
When memory ballooning starts increasing, the guest OS starts paging from the disk which leads to high I/O and that can bring performance issues to the VM. Additionally, memory ballooning can lead to memory swapping which isn’t good for the virtual infrastructure. When memory starts swapping disks, the disks aren’t as fast as RAM, creating a bottleneck.
Memory management is a key area to investigate to improve performance of your virtual environment. Some tips to help you with managing & troubleshooting memory swapping include:
- Allocate sufficient memory to the VM to support the application
- Avoid over allocating memory so consumed memory can be used to support other VMs
- Keep track of memory ballooning to stop swapping
Lack of resources caused by poor resource utilization:
Zombie, stale, orphaned, and over allocated VMs are one of the top causes of performance bottlenecks for any virtual infrastructure. They consume numerous resources that can be utilized by other VMs that require the necessary resources for a productive infrastructure. Some recommendations to control VM Sprawl are:
- Systematically compare allocated to used resources to right size VMs
- Scan for idle or zombie VMs using compute resources
- Remove old and large snapshots consuming storage
- Ensure requirement of VMs with all business departments
- Analyze resources required before creating the VM
- Scale resource consumption at each level of the virtual infrastructure
By controlling VM Sprawl you can save resources, increase IT productivity, and postpone purchasing of new hardware.
Virtualization is one of the hottest topics within the IT industry. Moreover, its continued growth opens the door for new product solutions & methods to monitor virtual environments. Therefore, there’s constant pressure on virtual admins to deliver consistent performance and availability of their virtualized environment. Performance bottlenecks cause VM and application downtime, or worse, business downtime. However, these bottlenecks can be avoided when you have a proactive monitoring system in place that will alert you of VM & application performance issues before the end-user is impacted. Learn how you can avoid performance bottlenecks and how to monitor and manage your virtual environment.