another note, Watcher provides a WORKLOAD optimization(balancing or consolidation).
If you want to maximize the node resource (such as vCPU, Ram...) usage through
VM migration, Watcher doesn't have such a strategy now.
Thanks!
licanwei
原始邮件发件人:MattRiedemann <mriedemos@gmail.com>收件人:openstack-discuss@lists.openstack.org <openstack-discuss@lists.openstack.org>;日 期 :2019年05月08日 04:57主 题 :[watcher][qa] Thoughts on performance testing for WatcherHi,
I'm new to Watcher and would like to do some performance and scale
testing in a simulated environment and wondering if anyone can give some
pointers on what I could be testing or looking for.
If possible, I'd like to be able to just setup a single-node devstack
with the nova fake virt driver which allows me to create dozens of fake
compute nodes. I could also create multiple cells with devstack, but
there gets to be a limit with how much you can cram into a single node
8GB RAM 8VCPU VM (I could maybe split 20 nodes across 2 cells). I could
then create dozens of VMs to fill into those compute nodes.
I'm mostly trying to figure out what could be an interesting set of
tests. The biggest problem I'm trying to solve with Watcher is
optimizing resource utilization, i.e. once the computes hit the Tetris
problem and there is some room on some nodes but none of the nodes are
fully packed.
I was thinking I could simulate this by configuring nova so it spreads
rather than packs VMs onto hosts (or just use the chance scheduler which
randomly picks a host), using VMs of varying sizes, and then run some
audit / action plan (I'm still learning the terminology here) to live
migrate the VMs such that they get packed onto as few hosts as possible
and see how long that takes. Naturally with devstack using fake nodes
and no networking on the VMs, that live migration is basically a noop,
but I'm more interested in profiling how long it takes Watcher itself to
execute the actions.
Once I get to know a bit more about how Watcher works, I could help with
optimizing some of the nova-specific stuff using placement [1].
Any advice or guidance here would be appreciated.
[1] https://review.opendev.org/#/c/656448/
--
Thanks,
Matt