Unlocking the Full Potential of Enterprise Applications with vSphere and vRealize

Virtualizing Enterprise Applications on vSphere: Best Practices and Considerations

As more and more businesses move their infrastructure to virtualization, it’s important to understand the best practices and considerations for running enterprise applications on vSphere. In this blog post, we will discuss the key points to keep in mind when virtualizing three large enterprise applications – Enterprise JAVA, Oracle, and SQL – on vSphere.

Enterprise JAVA Applications

When it comes to enterprise JAVA applications, there are four components that need to be tuned perfectly, regardless of whether the application is running in a physical or virtual environment:

1. Load Balancer: Provides load balancing algorithms and API integrations with vSphere. This tier is responsible for handling application traffic demands.

2. Web Server: The web server should be tuned according to the exact number of HTTP threads to cater to the application demand. JAVA-based applications give the ability to tune JVM to cater to the traffic demand via Java threads, JDBC, or GC parameters.

3. JAVA Application: Many JAVA-based applications allow for fine-tuning of the JVM to cater to the traffic demand. This includes tuning parameters such as heap size, garbage collection, and thread pools.

4. DB Server: Databases are the heart of any application, and VMware has extensive documentation on running various databases on vSphere. Similar best practices can be applied to JAVA applications.

vCPU Best Practices for JAVA Workloads

When it comes to vCPU best practices for JAVA workloads, there are a few key considerations:

1. Memory is allocated based on the maximum heap size of the application, and not on the physical CPU count.

2. Overcommitment of memory can lead to performance issues and should be avoided.

3. Use NUMA-aware placement for critical virtual machines to ensure locality and optimal performance.

Memory Best Practices for JAVA Workloads

Understanding memory is crucial for any application, and JAVA applications are no exception. When it comes to memory best practices for JAVA workloads, there are a few key considerations:

1. SQL Max Server Memory should be set to the maximum heap size of the application.

2. ThreadStack should be set to the maximum number of worker threads * ThreadStackSize.

3. ThreadStackSize is 1MB on x86, 2MB on x64, and 4MB on IA64.

4. OS Mem should be set to 1GB for every 4 CPU Cores.

RDM vs VMFS Volume

When it comes to storing data, vSphere supports Raw Device Mapping (RDM) which allows a virtual machine to directly access a volume from physical storage without formatting it in VMFS. RDM can also reach up to 64TB. Both RDM and VMFS can provide similar performance characteristics, and a detailed study on this has been documented.

Oracle Applications

When it comes to Oracle applications, there are a few key considerations:

1. Memory is allocated based on the maximum server memory size of the application, and not on the physical CPU count.

2. Overcommitment of memory can lead to performance issues and should be avoided.

3. Use NUMA-aware placement for critical virtual machines to ensure locality and optimal performance.

SQL Applications

When it comes to SQL applications, there are a few key considerations:

1. Memory is allocated based on the maximum server memory size of the application, and not on the physical CPU count.

2. Overcommitment of memory can lead to performance issues and should be avoided.

3. Use NUMA-aware placement for critical virtual machines to ensure locality and optimal performance.

In conclusion, when it comes to running enterprise applications on vSphere, there are a few key considerations that should be kept in mind. By understanding these best practices and considerations, you can ensure that your applications run smoothly and efficiently, regardless of whether they are running in a physical or virtual environment.

References:

* vSphere Documentation

* VMware Knowledge Base

* Performance Optimization and Best Practices for vSphere

* Running Oracle on vSphere: Best Practices and Considerations

* Running SQL on vSphere: Best Practices and Considerations