On Tue, Dec 18, 2012 at 04:46:47PM -0500, Javier Guerra Giraldez wrote: > On Tue, Dec 18, 2012 at 4:41 PM, Andrew Holway <a.holway@xxxxxxxxxxxx> wrote: > > How should I set up io scheduling with this configuration. Performance is not so great and I have a feeling that all of the io schedulers in my VMs and the ones on my host are not having a nice party together. > > most external storage units do their own io scheduling with sizeable > amounts of buffers and cache, so any optimization done by the hosts > would be nullified before reaching the media. > > also, a scheduler in each host ignores what's happening on the other > hosts, so their worldview is incomplete at best. > > therefore, the best you could aim is to minimize latency; that is, > send each command out to the storage ASAP and let it sort it out. for > that, usually the best is to use the 'noop' scheduler. There's no one-size-fits-all answer. You need to benchmark your own configuration and workload. Javier's suggestions are optimal on some configurations and workloads, but here's something to show there's no one-size-fits-all solution: When you use "noop" in the guest only trivial request merging is done. This means more guest<->host switches because no attempt is made to wait a little to batch up requests. That burns up CPU and can affect the performance of the system as a whole. Here is a link that gives an overview of the I/O schedulers and options: https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html-single/Performance_Tuning_Guide/index.html#main-io Stefan -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html