Hi Philippe,

 

I run quite a few Koha instances, so I feel your pain.

 

A couple months ago I opened https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=34477 but I haven’t dedicated any time to work on it yet (and I have no plans to work on it anytime soon).

 

The ORM eats up a lot of memory, and if I recall correctly C4::Context also requires a fair bit of memory. I don’t think you’ll really be able to hack this one per se as there are quite a few changes that are needed. That said… I suppose you could always create an alternative background jobs worker and use that instead. If I recall correctly, I don’t think you use the RabbitMQ, so you could exclude lots of code.

 

In theory Koha::Database->dbh() should provide a database handle with a smaller memory footprint, but I haven’t tested it.

 

But yeah… I think you’d basically need to do a rewrite.

 

David Cook

Senior Software Engineer

Prosentient Systems

Suite 7.03

6a Glen St

Milsons Point NSW 2061

Australia

 

Office: 02 9212 0899

Online: 02 8005 0595

 

From: Koha-devel <koha-devel-bounces@lists.koha-community.org> On Behalf Of Philippe Blouin via Koha-devel
Sent: Tuesday, 24 October 2023 6:57 AM
To: koha-devel@lists.koha-community.org
Subject: [Koha-devel] Memory footprint of Koha processes

 

Howdy!

I'm trying to run a server with MANY koha instances (for educational purposes), but although the usage is very small, the resources required just make everything explode.

background_jobs_worker.pl for instance uses 170M per instance, and plack uses 200M without anything being loaded.

Any suggestion how this could be hacked (locally) to allow for 200 koha instances on a machine without requiring 100G of memory ?  The object model seems at fault here, but I see no way to go around "use Koha::BackgroundJobs;" at the top of the script.

Thanks!

--

Philippe Blouin,
Directeur de la technologie

Tél.  : (833) 465-4276, poste 230
philippe.blouin@inLibro.com

inLibro | pour esprit libre | www.inLibro.com