4.3. Application limitations
There are aspects of virtualization which make virtualization unsuitable for certain types of applications.
Applications with high I/O throughput requirements should use the para-virtualized drivers for fully virtualized guests. Without the para-virtualized drivers certain applications may be unstable under heavy I/O loads.
The following applications should be avoided for their high I/O requirement reasons:
You should carefully evaluate databasing applications before running them on a virtualized guest. Databases generally use network and storage I/O devices intensively. These applications may not be suitable for a fully virtualized environment. Consider the para-virtualized drivers or PCI passthrough for increased I/O performance. Refer to
Chapter 11, KVM Para-virtualized Drivers for more information on the para-virtualized drivers for fully virtualized guests. Refer to
Chapter 12, PCI passthrough for more information on the PCI passthrough.
Other applications and tools which heavily utilize I/O or require real-time performance should be evaluated carefully. Using full virtualization with the para-virtualized drivers (refer to
Chapter 11, KVM Para-virtualized Drivers) or PCI passthrough (refer to
Chapter 12, PCI passthrough) results in better performance with I/O intensive applications. Applications still suffer a small performance loss from running in virtualized environments. The performance benefits of virtualization through consolidating to newer and faster hardware should be evaluated against the potential application performance issues associated with using virtualization.