Forum OpenACS Q&A: Re: Aolserver 4.5 multithreading

Collapse
Posted by Malte Sussdorff on
In acs-tcl from HEAD there exists a pools-init.tcl file which will initialize the parameters as you would expect them to be initialized. Kudos for Tom to write it.
Collapse
Posted by Tom Jackson on
So did someone add this file based upon my post here? That is good for now, but it comes with a big IF, maybe several:

The current AOLserver4.5 has a single global namespace (not a Tcl namespace) for threadpool names. The built in threadpools are named default and error.

threadpools are shared among all virtual servers, usually this is not a problem with OpenACS because the usual installation only has one virtual server per nsd process.

The ns_pools Tcl command can be accessed from any virtual server, so if you have more than one, it could be a security risk. Chances are it will not be, but as a general rule, it eventually needs to be fixed.

I have written a fix which provides each virtual server with an independent namespace for threadpools and only allows access to change the current virtual server's threadpool settings. You can still see all threadpools, including the default and error threadpools.

This fix hasn't been committed to the AOLserver cvs, and this will remain the case until ns_limits is also addressed. Both of these have the same problem, and in fact, I have discovered that there are lots of parameters which we usually put in the config file that are no longer used. Bottom line is that ns_pools is the tip of the iceberg, the entire performance tuning system needs to be explained and documented.

The good news is that AOLserver performs so well with the default settings that most of us can ignore this, and the temporary fix should work okay. But I haven't reviewed it yet.