How to monitor / control file IO in Xen virtual machines
I have a pretty beefy Xen server (8 CPUs, 4G of RAM) running about 40 256M VPSs and I've been having issues with file IO speed. What I've found is one or two VPSs on the host can severely degrade performance for everyone with a bad script the dumps big log files or is using a lot of swap.
I can limit CPU usage by limiting them to a single virtual CPU and I can limit bandwidth with IPTABLES, but I've yet to see anything that lets me monitor or control File IO. What I'm left with is people on the host complaining about file IO problems and I have no way to see the source of the problem without shutting down the VPSs one at a time and observing the effect on a test VPS.
xm top shows memory and CPU usage, but nothing about IO. Is there any way to rate limit IO in xen? Or at least a way to monitor running VM instances and see who is causing the IO problem?
Solution 1:
Check This link
XenServer, from Citrix does have a Performance Utility :
XenServer Virtual Machine Performance Utility is a XenServer virtual machine that helps troubleshoot performance related issues, such as poor performance caused by storage I/O and network I/O. The virtual machine, built on Debian Linux, contains the following test utilities and is accessible over a Web based user interface:
Disk I/O performance utility - It can be used to conduct the following disk I/Os to measure: sequential read/writes and random read/writes with various specified block sizes.
Network I/O performance utility - It is essentially a modified version of netperf. Additional information about netperf can be found at http://www.netperf.org. Netperf runs on the back end and provides end-to-end request/response round trip latency and TCP/UDP throughput tests.
Sadly - you will need a Xen