Brinkster Knowledge Base
Increasing VM Performance
Tuning your VMs for optimum performance is in general a similar process to tuning a physical server. However, there are a few additional factors worth highlighting. We have therefore set out below some Brinkster Cloud Services specific recommendations to allow you to get the best performance out of your server.For Xen 4 & KVM systems, these come as part of the standard kernels. These provide substantial performance advantages. You should ensure that you provide Windows images and Linux 64 bit images that have PV drivers included, and (preferably) do not expose the non-PV disks. If you are using Windows, we can give you further information on install PV drivers through our support channel. If you are using Linux, we suggest you either use our supplied 64 bit images, or you use your own image with a kernel taken from our 64 bit images.
Don't use swap or page files
We recommend that you do not use swap files, swap partitions or paging files. Swapping or paging uses disk I/O to write items to the disk that do not fit in memory. We charge for I/O, and the charges for the increased I/O to swap or page will quickly exceed the cost of specifying a server with more memory, or even whole new servers. Systems which are consistently swapping or paging tend to operate slowly. Often the reason for the swap or paging is a server with insufficient memory, or a process which is leaking memory, and growing larger. Rather than allowing this to hurt both your performance and your wallet, we recommend you specify a larger server, or isolate the underlying cause of such memory leaks and resolve them.
We recommend that you use journaled file systems on all your volumes. How ever reliable your own operating system and our systems are, occasional crashes are inevitable. If these cause an unclean shutdown, the resultant reboot will cause a file system check (fsck on Linux, chkdsk on Windows). A journaled file system (such as ext3 or ext4 on Linux, and NTFS with journaling turned on on Windows) will very substantially reduce the impact of such a check, and may obviate it entirely. This not only increases the security of your data, but will result in faster reboot times, and reduce I/O charges for filesystem checks.
Under Linux, by default the file system stores the access time of each file. This means that every time a file is accessed (which may require no I/O at all if the file is held in cache) a write is done to the disk to set the 'atime' or access time of the file. Most Linux software does not require this. Consider setting the 'noatime' or 'relatime' mount options to reduce your I/O charges and increase your performance.