Use IDOL with Virtual Machines
Most of the considerations for using IDOL on virtual machines (VMs) are the same as for any virtual setup. In particular, you might need to consider additional factors when sizing your environment, to ensure that you provision sufficient resources for your IDOL installation.
The main considerations are:
-
Storage and IOPS. Make sure that the back-end disk storage that the VM uses is robust and has good enough performance for an enterprise class application such as IDOL.
-
CPU, Cores, and Threads. You must provision enough processing power to each VM running IDOL components.
-
Memory. Make sure that you allocate enough memory to the VM.
-
Network. For high throughput applications, the network might become a bottleneck earlier in a VM environment than for dedicated hardware, if you have multiple VMs sharing a single network interface controller on the physical host.
-
Resource Contention. Some VMs can be over-provisioned, with too many VMs on a single physical host. During periods of high demand, over-provisioning can mean that some or all VMs do not have enough resources.
- Storage Allocation. As for all VM environments, you must consider the resource impact of storage allocation types. Because IDOL can be write-intensive, thick disk allocation provides better performance, because of the reduced additional disk chunk allocation for each write. Resource requirements vary depending on your usage and the components you run on your VMs, so you must always test your particular environment to find the optimum setup.
- Scaling. You might be able to improve scaling for your IDOL system by installing a single IDOL component on each VM, because resource scheduling is often more efficient for many small VMs than for fewer large VMs.
TIP: If you are running the Content component on an under-performing storage system, you can overcome I/O limitations by allocating the VM RAM to be greater than the combined size of your Content installation and the Operating System kernel overhead. This allocation ensures that after the first read, most of the files that IDOL needs to access are available in RAM, which results in higher read throughput for queries.
This method is not unique to VMs, but IO storage is often a particular problem on VMs where the storage hardware is shared.