You can launch Zebra multi-threaded using : zebrasrv -T Le 30/01/2015 02:59, Robin Sheat a écrit :
Paul A schreef op do 29-01-2015 om 19:39 [-0500]:
Facets appear to have a huge overhead in various components of Zebra, to the point where a single core of a multiple processor CPU gets overwhelmed, but does not share the load with other totally idle cores.
That's not how multiprocessor systems work.
They can only spread load amongst other cores if the software is multithreaded/multiprocess, which I suspect zebra isn't, at least within a single request. If it does all its work in a single thread, then it can't spread across multiple cores.
Intel tell me that this is not fixable through any hardware/BIOS config and they are not aware of a Linux "standard library" that deals with processor affinity. I've searched around a little and found mentions for c and FORTRAN (marvelous old memories for me!) but so far nothing totally specific for Perl.
Zebra is not Perl, zebra is (I think) C. But still, unless it's written with multithreading in mind, you can't do anything about it.
taskset and sched_setaffinity might be usable at system level
Unless you have very specific use cases (which you don't), these won't help.
, and I might have a look at pthread_setaffinity_np.3.gz
That will only help if you plan on rewriting zebra to use pthreads.
I don't recommend rewriting zebra.
_______________________________________________ Koha-devel mailing list Koha-devel@lists.koha-community.org http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel website : http://www.koha-community.org/ git : http://git.koha-community.org/ bugs : http://bugs.koha-community.org/
-- Fridolin SOMERS Biblibre - Pôles support et système fridolin.somers@biblibre.com