https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=31074 --- Comment #35 from David Cook <dcook@prosentient.com.au> --- (In reply to Victor Grousset/tuxayo from comment #34)
(In reply to David Cook from comment #33)
Everything would be configuration driven, so you could still have people upload plugins, and Koha could put them in the right place.
If the workers are shared, then all plugins also, right? So before triggering a too wide reload the issue would be simply letting tenants installing plugins because that would affect the other.
Ah yes I wasn't thinking clearly. With a multitenant Wordpress, I think the only person who can upload plugins is the Wordpress administrator, so we'd have to do something similar. Which works well for how I like to manage things anyway.
For instance, if you have 8 CPUs and 400 workers, and each worker needs 100% CPU for a few seconds at startup then you're going to have a long wait before the full system is operational.
The ratio between threads and workers should never be like this, right? Because the point of workers is to have parallel request processing when having multiple threads. So 8 CPUs could never process 400 queries at the same time. (even if a lot of time is DB wait) So the practical number of workers would be much lower. And that also caps the reload time. Like a few seconds a most? Beyond means not having enough threads to be able to use that much workers anyway.
All this is to be sure whether or not the possibility of triggering a reload is viable or not. (option 2 of comment 19)
8 CPUs and 400 workers is an extreme example. If you're multi-tenanted, you'll have fewer workers. But if you're not multi-tenanted, you could easily have hundreds of workers even with a small number of CPUs, if many of the instances don't carry much load. Philippe has an example with 100-200 Koha instances I believe. They're mostly going to be idle, but you'd need 200-400 workers just to have a minimum amount of availability. If you were multi-tenanted, you would have a more reasonable number of workers. But then as per the above you wouldn't allow Koha instances to upload plugins anyway. So then a reload at plugin upload time is determined by the sysadmin anyway, which makes it similar to any software deployment.
(Some day when I have more time I'm going to look again at reducing CPU consumption at startup time for the Starman workers...)
Just in case that might help, you mentioned preloading earlier, is that --preload-app ? https://metacpan.org/dist/Starman/view/script/starman#-preload-app
That's the one. It would be very helpful if we used it with Koha, but it's something that I just haven't gotten around to doing yet. (I think my Koha TODO list is nearly infinite.) -- You are receiving this mail because: You are watching all bug changes.