[Koha-bugs] [Bug 20582] Turn Koha into a Mojolicious application

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Tue Nov 6 00:26:13 CET 2018


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=20582

--- Comment #30 from David Cook <dcook at prosentient.com.au> ---
(In reply to Jerome Charaoui from comment #29)
> In order to deal with this I modified the config by adding "accepts => 200"
> so that workers get recycled more quickly. If you have any other ideas as to
> how we could deal with memory usage, please let us know!

I think we'd have to do more profiling, but I have a couple of thoughts.

1) I think memory usage will always go up, because when the worker first
starts, it's only pre-loading a small selection of modules. As more work gets
done, I think more modules get loaded into memory, and they stay there for the
life of the worker. But how much memory is used by loading modules... that's
something I don't know. I have looked a bit at memory use based on modules
being loaded and noticed big differences. 

2) I'm guessing maybe we have memory leaks. My first guess would DBIx::Class
objects hanging around longer than they should. Some of that might be scoping
and some of that might be caching in DBIx::Class. Mind you that's just a guess.
This is something that could maybe be investigated and changed. 

But yeah... both just guesses. I'd say it would need application level
profiling to really know. 

But considering how a multi-threaded Tomcat process can eat up GBs of memory, a
multi-process hyponotoad eating up GBs of memory collectively doesn't really
shock me either.

--

Oh one thought... if we pre-loaded more modules into the master hypnotoad
process, in theory there would be less in the unshared memory, since they'd be
using the shared memory for the modules. 

I once encountered a legacy mod_perl app which wasn't preloading enough
modules, and it caused performance problems when new workers were forked
because they had to reload lots of modules. I preloaded everything important
into the master, and performance went way up. Memory wasn't really a big deal
for the app as we had lots to spare, but I assume copy-on-write was used so
that the preloaded modules were in shared memory. 

Just my 2 cents.

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list