Talk:Annotated AOLserver Configuration Reference

From AOLserver Wiki
Revision as of 23:27, 20 October 2005 by Dossy (talk | contribs) (ns_param maxthreads)
Jump to navigation Jump to search

(This looks pretty old... It does not accurately reflect the configuration options available in the latest code. --SD)

Thanks, a warning was definitely needed. I copied this from http://aolserver.com but if there is a newer version around somewhere, we should certainly update the information below. I mostly wanted a place to document the (new in 4.01) maxinput param, which is a 4.0 upgrade gotcha. --JR

It would be nice if when you turned on Debug level logging (or some other higher level) AOLserver spat out all the config settings it was using, where it got them from, and what the default is. The information would alwasy be accurate, and it would be an aid in debugging. --SD

Unfortunately, I see no way you could get that kind of introspection without humongous code changes. e.g. consider in driver.c

    if (!Ns_ConfigGetInt(path, "maxinput", &n) || n < 1) {
        n = 1000 * 1024;	/* 1m. */
    }
    drvPtr->maxinput = _MAX(n, 1024);

The default for this param is defined a level up from the config file functions level, and involves calculation and bounds checking. --JR

Well sure, you'd have to *touch* a lot of code, but the change would be trivial, and it doesn't require everything to change at once. Look at GetInt and GetBool in nsconf.c: there's already code using wrappers for convenience.

In the example above the bounds checking amounts to ensuring a positive integer, which could be expressed as Ns_ConfigGetPositiveInt etc., and the calculation is just a convenience for source code representation.

I'm sure there's some corner cases you couldn't or wouldn't want to handle, but you could cover the vast majority of it, cleaning up a lot of code in the process. --SD

ns_param maxthreads

   ns_param   maxthreads      20        ;# Tune this to scale your server -- but what is this (incoming or all threads?)

I believe it just controls the connection threads. -- Dossy 19:27, 20 October 2005 (EDT)