ManageIQ / manageiq-automation_engine

Automation engine for ManageIQ
Apache License 2.0
11 stars 74 forks source link

[Automate Engine] Looking up objects in the database is expensive #410

Closed Fryguy closed 4 years ago

Fryguy commented 4 years ago

When executing an automation request there are a TON of database queries, and most of them are duplicated. Additionally, since the content of the automate domain doesn't change frequently during execution, we should be able to do some simple caching to eliminate a lot of the performance penalty.

Some ideas...

I'm sure there are other ideas, but it feels like there are likely some really quick wins in here. cc @tinaafitz

Fryguy commented 4 years ago

@kbrock @NickLaMuro This is the higher order epic for automate's performance.

kbrock commented 4 years ago

One time I tested wrapping all MiqQueue#dispatch and I think it passed specs.

People were worried that the refresh would break. But this is how all our ui runs, not sure why the back end would be that different. (Also refresh used to bust the cache every query anyhow)