The virtual revolution is in full swing, with more servers being produced for use as VMs and the nexuses of VPS operations than those destined for local use. With all of the interest in virtual technologies currently on the market, casual users often perceive that there are no significant issues affecting the spread of these machines. However, there are a number of virtualization-specific issues that companies must contend with, especially in the area of storage and disk I/O.
These issues mostly revolve around the problem of “bottlenecking,” which occurs when a machine attempts to do too much at once and performance suffers. In a bottle, the neck is the narrowest part of the object, and only a limited amount of liquid can pass through. In a computer system or server, the limiting factor can be any number of things – from RAM to storage to processing power. If any of these parts of a system are lacking, performance will be reduced at that point in the access cycle, and users will notice an issue.
In virtual machines, this bottlenecking can happen for a number of reasons, including not enough RAM and too many users calling on system memory at once, as well as disk I/O issues such as the Disk File System not properly storing or caching often-used files, physical transfer of data across the hardware of the server being delayed, or overall disk utilization on the virtual node being too high for performance to remain stable.
Both hardware and software issues on a VM can cause a bottleneck, and these disk I/O issues can strike without warning and bog down the system for all users. Because VMs each “see” themselves as the only instance on the server, they cannot predict for or interact with the requests of other VMs, often leading to I/O problems.
This is not a problem for non-virtualized servers, because the number of users on them is finite and typically much smaller. In-house IT techs know when the server will be under the most load and can account for it; but in a VPS situation, access requests can come at any time and from anywhere in the world a client is located.
Currently, VPS hosting services are doing a number of things to streamline their virtual server platforms and iron out I/O issues. One of the most important advancements is the development of real-time tracking of tenant resource use, so that those who use more on a regular basis can have storage and memory properly allotted. Hand-in-hand with this is the ability to limit, in real time, the CPU drain that individual users are placing on a system in order to prevent lower response times.
Software and hardware vendors are also doing their part to help with the disk I/O bottleneck by developing more robust virtualization platforms that have better file systems designed to account for multiple users. Better storage arrays and the fusion of multiple servers into a single, massive server (from the perspective of the VM), are also being used to combat this issue.
As a customer, the most important thing that a company can do to mitigate the effects of hosting slowdown is to install only what it needs on a virtual server. It is tempting to treat a VM like a standard physical server or just another place to store data, but it is best to keep a VM clean, allowing it to run at maximum efficiency even if other tenants are draining a portion of the resources.