From: David O. <da...@qc...> - 2016-07-08 14:39:39
|
Thanks for the info Gustaf. You gave us enough info to set us down the right path to working out what was the likely issue. If mu12 is the same or this server, and I think it is, this server seemed to be spending far too much time creating interpreters. Looking at potential causes of a high interpreter turnover we spotted that maxthreads was relatively high whilst threadtimeout was only set to 1. We're going to set that to something more realistic and see how the contention looks from there. Thanks again Gustaf. On 8 July 2016 at 13:10, Gustaf Neumann <ne...@wu...> wrote: > Dear David, > > mu12 is an "autonamed" mutex. The ability of naming (and profiling) of > mutexes is a feature of NaviServer (partly inherited from aolServer). When > no explicit names are provided to mutexes, these are autonamed and show up > like "mu12", which is actually the 12th mutex created on your server. > > The order and number of mutexes depend on the config file, so these can't > be compared easily cross configurations. However, mu12 is a rather low > number, so there is a certain hope that it will be the same on my system. > On my test sytems mu12 is used for serializing calls to Tcl_CreateInterp() > since this call is not thread-safe (maybe this has changed in the newest > tcl8.6 versions). > > I am not too confident, that this mutex is the same as on your system, > since Tcl_CreateInterp() just creates an empty Tcl interpreter, which > should not take long and it should not happen so often. Please check with > the updated version from the repository, whether the name has changed and > we are actually talking about a contention of the same mutex. > > all the best > -g > |