[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