These are chat archives for ManageIQ/manageiq/performance

7th
Dec 2017
Keenan Brock
@kbrock
Dec 07 2017 15:25
Are these running the same version of ruby? Are they pointing to the same EMS? :point_up: December 6, 2017 11:41 AM
^ @jrafanie @NickLaMuro
Nick LaMuro
@NickLaMuro
Dec 07 2017 15:37
@kbrock read below with my comment
one is running idle, one is running c&u workload
Keenan Brock
@kbrock
Dec 07 2017 15:38
ok - so same versions, just C&U
wonder if there is different load we can use. maybe reporting?
Keenan Brock
@kbrock
Dec 07 2017 20:01

The DescendantLoader is frustrating for me

DescendantLoader.instance.class_inheritance_relationships # first time
DescendantLoader.instance.load_cache # every restart when loading classes like `Vm`
DescendantLoader.instance.save_cache

Looked at timings. Also tried out json (vs yaml) and sped up startup a bunch
but it is low hanging fruit - we are measuring in ms

ms bytes objects comments
12,034.7 44,290,193* 36,110,406 cir
---: ---: ---: ---
135.2 7,529,819 86,801 save_cache-yaml
38.8 505,447 8,573 save_cache-json
71% 93% 90% diff
---: ---: ---: ---
77.7 3,177,052 37,444 load_cache-yaml
37.2 1,059,671 11,999 load_cache-json
52% 67% 68% diff

* Memory usage does not reflect 17,405,821 freed objects.

This also calls >1k file stats on every bootup (to check mtime)
Keenan Brock
@kbrock
Dec 07 2017 20:10
@NickLaMuro pie in the sky theory
what if we only required the gems (vmware) that we enabled?
we would get rid of the custom class loader - because all of the sti would be loaded right?
Right after I startup, Vm.first = 25.5 seconds for me ( and 11m ram)
second call Vm.first = 35.6seconds, ( 103k ram)
Alex Krzos
@akrzos
Dec 07 2017 20:29
Hey guys/gals, random question, do we still ship miq with postgres as the default tsdb for metrics?
Joe Rafaniello
@jrafanie
Dec 07 2017 20:36
Yes @akrzos. :wave:
Nick LaMuro
@NickLaMuro
Dec 07 2017 20:37
:wave:
Joe Rafaniello
@jrafanie
Dec 07 2017 20:37
@kbrock what problem are we solving by looking at the performance of the DescendantLoader?
Dennis Metzger
@dmetzger57
Dec 07 2017 20:38
Hey @akrzos is back 😏
Joe Rafaniello
@jrafanie
Dec 07 2017 20:38
I know it gets in the way of some benchmarking. I'm not sure what though
Alex Krzos
@akrzos
Dec 07 2017 20:38
@jrafanie Thanks :wave:
@dmetzger57 :wave:
Joe Rafaniello
@jrafanie
Dec 07 2017 20:39
@akrzos @chrisarcand was looking at some alternatives for the metrics this summer ;-)
jrafanie @jrafanie throws @chrisarcand under the :bus:
Alex Krzos
@akrzos
Dec 07 2017 20:39
I saw activemetrics in the code but wasn't sure if it has ever been used/tested on a real appliance
Joe Rafaniello
@jrafanie
Dec 07 2017 20:40
I'm not sure
Nick LaMuro
@NickLaMuro
Dec 07 2017 20:40

I saw activemetrics in the code but wasn't sure if it has ever been used/tested on a real appliance

I think it currently is in use, since @chrisarcand put it in place over the summer and it is used during cap&U (as far as I can tell)

Alex Krzos
@akrzos
Dec 07 2017 20:43
@NickLaMuro gotcha, I saw ES, influx, and hawkular adapters just wanted to find out if a default changed
Brandon Dunne
@bdunne
Dec 07 2017 20:44
@kbrock what if you rake evm:compile_sti_loader before benchmarking?
Jason Frey
@Fryguy
Dec 07 2017 20:44
@akrzos !! :wave:
Nick LaMuro
@NickLaMuro
Dec 07 2017 20:44
postgres should still be the only one that is actually supported, but over the summer for the rearch spike, those other adapters were some alternatives that were being considered
FYI: relocating, back in a few
Oleg Barenboim
@chessbyte
Dec 07 2017 20:45
@akrzos miss you from ManageIQ project
Alex Krzos
@akrzos
Dec 07 2017 20:49
@chessbyte hey :wave: miss all you guys too
Keenan Brock
@kbrock
Dec 07 2017 21:11
@bdunne @jrafanie I am always benchmarking - switching between branches and modifying code.
The blip shows up in random places.
It is yet another thing I have to preload. So I was wondering if we could just remove it
Keenan Brock
@kbrock
Dec 07 2017 21:29
If the gems that we need were 'required', then we possibly wouldn't need the preloader at all.
Joe Rafaniello
@jrafanie
Dec 07 2017 21:31
@kbrock if you can trim down all the gems so we can require them and not bloat the process, I'd be on board with doing that. That's much harder though
I dislike how we lose visibility to dependencies because we must autoload because rails reasons
Brandon Dunne
@bdunne
Dec 07 2017 21:35
Also, don't forget about the child classes that need to be loaded if they exist
(stuff that we can't add a require for)