Fridolin SOMERS schreef op vr 30-01-2015 om 17:40 [+0100]:
You can launch Zebra multi-threaded using : zebrasrv -T
From the documentation: -T Operate the server in threaded mode. The server creates a thread for each connection rather than a fork a process. Only available on UNIX systems that offers POSIX threads. So, this will have no real gain as it doesn't run a single request multithreaded. Process creation in Linux is almost free (this isn't the case on some other operating systems), so it shouldn't have any significant effect. The benefit of multiprocess rather than multithreaded is that if one process crashes, it doesn't take all the other ones with it. Mark Tompsett schreef op vr 30-01-2015 om 16:53 [-0500]:
If there is no negative effect, and only positive effects, I'd be more than willing to submit a patch to default with a -T. :)
I would encourage reading the documentation first, so that you understand what it actually does. Paul A schreef op vr 30-01-2015 om 17:34 [-0500]:
I'm looking for "negatives" right now. Give me another little while, and I'll do a bug/enhancement myself with all the numbers (a bit of a struggle, NYTProf doesn't appear to like multi-threading.)
You're still misunderstanding how everything ties together, and this means you won't understand the results you get. * NYTProf doesn't have to care about multithreading because it is profiling Koha and Koha is not multithreaded. * NYTProf doesn't profile zebra because zebra is not written in Perl and is not part of Koha. * Zebra is a service that Koha asks a question to, and gets a result. It could be (and sometimes is) on a totally different server. NYTProf doesn't know and doesn't care whether zebrasrv forks itself or spawns a thread when it gets a connection, neither does Koha. The option to make zebrasrv use threads is purely a system administration level decision made with awareness of what it means. -- Robin Sheat Catalyst IT Ltd. ✆ +64 4 803 2204 GPG: 5FA7 4B49 1E4D CAA4 4C38 8505 77F5 B724 F871 3BDF