These are chat archives for ManageIQ/manageiq/performance

1st
Apr 2016
Marcel Hild
@durandom
Apr 01 2016 12:53
❯ time rake evm:status
** master - DB vmdb_development on localhost
** Using session_store: ActionDispatch::Session::MemCacheStore
Checking EVM status...
 Zone    | Server Name | Status  | ID |   PID |  SPID | URL                     | Started On           | Last Heartbeat       | Active Roles
---------+-------------+---------+----+-------+-------+-------------------------+----------------------+----------------------+----------------
 default | EVM         | stopped |  1 | 25100 | 25167 | druby://127.0.0.1:41171 | 2016-04-01T12:29:11Z | 2016-04-01T12:51:03Z | database_owner

rake evm:status  6.56s user 1.32s system 99% cpu 7.895 total
is this ok for a decent machine with ssd and new cpu?
I also have ~800k open syscalls for this:
strace -e open rake evm:status 2>&1 | wc
 812784 8068533 146410249
Chris Arcand
@chrisarcand
Apr 01 2016 12:56
Pretty normal in my experience http://screenshots.chrisarcand.com/m9l2l.jpg
Marcel Hild
@durandom
Apr 01 2016 12:56
ok, thanks for sanity checking :)
Chris Arcand
@chrisarcand
Apr 01 2016 13:04
@durandom Actually mine is substantially worse :confused: http://screenshots.chrisarcand.com/9hoqx.jpg
Which ruby manager are you using by chance? (going through bundler is slower…?)
Marcel Hild
@durandom
Apr 01 2016 13:05
rbenv
Chris Arcand
@chrisarcand
Apr 01 2016 13:05
Same
Marcel Hild
@durandom
Apr 01 2016 13:05
maybe newer cpu? I'm on a skylake desktop
Jason Frey
@Fryguy
Apr 01 2016 13:06
yeah, this is similar to my complaint that just starting the app takes 12 seconds :(
I personally think it's all the gems that were added that are not set :require => false, but that is just knee-jerk reaction
we know at least 2 of those seconds is loading translation files
Marcel Hild
@durandom
Apr 01 2016 13:07
I was worried that its 800k open syscalls, and strace -c says it's spend 90+ percent of time in open calls
Chris Arcand
@chrisarcand
Apr 01 2016 13:07
@durandom what specific specs on that processor? and are you using rbenv-bundler by chance? (dunno if that will make a difference but our commands are different. I can’t run with bundle exec because i have multiple versions of rails installed and I don’t use rbenv-bundler)
Jason Frey
@Fryguy
Apr 01 2016 13:07
09:07:32 ~/dev/manageiq (master) (2.2.4) ✗ time be rails r ""
bundle exec rails r ""  12.42s user 3.18s system 94% cpu 16.472 total
Chris Arcand
@chrisarcand
Apr 01 2016 13:08
@Fryguy Hmm indeed
Joe Rafaniello
@jrafanie
Apr 01 2016 13:10

I also have ~800k open syscalls for this:

I looked at this last week, systemtap can get all the information we need for this... much of the slowest open calls are translation files, ruby parser, mime information from multiple gems, etc.

Keenan Brock
@kbrock
Apr 01 2016 13:15

Is that okfor a decent machine with ssd and a new cpu?

No

Pretty normal in my experience

Maybe, but it still is not ok

Marcel Hild
@durandom
Apr 01 2016 13:18
:) Yea, just was checking if it was my setup. And I see you are looking into it, which is great. My gut feeling was the amout of ERRNO file not found open calls
iirc it was about 90%
Jason Frey
@Fryguy
Apr 01 2016 13:19
I'm mostly annoyed by it because running a single rspec example takes 12 seconds
Marcel Hild
@durandom
Apr 01 2016 13:19
900k open calls, 11k which actually open a file!
yes, that disables TDD effectivly
Jason Frey
@Fryguy
Apr 01 2016 13:20
09:21:23 ~/dev/manageiq (master) (2.2.4) ✓ be rspec spec/models/vm_spec.rb:2
...
Finished in 0.27061 seconds (files took 12.98 seconds to load)
1 example, 0 failures
Keenan Brock
@kbrock
Apr 01 2016 13:20
I just send to travis ;)
Jason Frey
@Fryguy
Apr 01 2016 13:21
bad example...let me change that one ;)
Marcel Hild
@durandom
Apr 01 2016 13:21
I tried getting it to work with spring preloader, but it didnt work out too well
Jason Frey
@Fryguy
Apr 01 2016 13:22
There, edited with a more obviously problematic example :/
Marcel Hild
@durandom
Apr 01 2016 13:22
@jrafanie do you think the ratio of unsuccessfull fstats is a problem? Or is this just noise?
Keenan Brock
@kbrock
Apr 01 2016 13:23
please don't solve this with "just use spring"
Marcel Hild
@durandom
Apr 01 2016 13:23
it checks 10 locations before hitting the correct one
Jason Frey
@Fryguy
Apr 01 2016 13:23
That's the way require works
Keenan Brock
@kbrock
Apr 01 2016 13:23
could it be our patch to load?
Jason Frey
@Fryguy
Apr 01 2016 13:23
Or at least it did when I looked at it like 5 years ago :P
Marcel Hild
@durandom
Apr 01 2016 13:24
yea, it traverses the path