Hi,
The reason for enforcing a 256 limit in the software is because at
the time of writing, 256 was as good as it got. Most kernels
reported values lower than 256. Some "broken" kernels would happily
report much larger numbers but then fail in spectacular ways if you
ever reached those sort of numbers. BSDI's code was particularly bad
in this area if my memory is working properly.
If you are using a modern OS then you could probably get away with
either increasing or removing that limit. I guess you could take the
"suck it an see" approach and change the 256 to 512 and see if it
works properly. I'd still find a limit that works for you rather
than just blindly relying on the OS to tell you the truth.
Oh, and I appreciate the amount of research you did into this before
posting to the list. Great work Romeo.
Bambi
..
On 18/08/2006, at 7:07 PM, Romeo Benzoni wrote:
> Hi,
>
>
> I've got a call from a customer with a msql2 server. (I know very old
> and deprecated but he needs a quick fix).
> In some situations he reaches the limit of 200 concurrent connections.
> In this post [1] concerning the same issue
> David J. Hughes himself stated:
>
>
> <quote>
> It is limited by the capabilities of the underlying operating system,
> not by
> some macro in the mSQL source code.
> </quote>
>
>
> I've found in the code of msqld.c [2] that maxCons is derived from the
> Maximum Open Filedescriptors, but limited to 256 if rlimit is higher.
> it compiles and starts with this artificial rlimit removed (states
> that
> he now has 968 Connections avaiable). But if someone with better
> knowledge of msql can confirm this not beeing a problem to do so (side
> effects, other limits which depends on this limit, etc.), it would be
> nice to know before deploying this at customers side.
>
>
> thanks in advance for any answers
>
>
> Regards,
>
>
> Romeo Benzoni
>
>
> [1]
> http://groups.google.ch/group/mailing.database.w3-msql/browse_frm/
> thr...
> [2]
> getrlimit(RLIMIT_NOFILE,&limit);
> limit.rlim_cur = (limit.rlim_max > 256)? 256 : limit.rlim_max;
> setrlimit(RLIMIT_NOFILE,&limit);
> getrlimit(RLIMIT_NOFILE,&limit);
> maxCons = limit.rlim_cur - CACHE_FDS;
> printf("\tServer process reconfigured to accept connections.\n",
> maxCons);
>
>
> -----------------------------------------------------------------
> This is the Mini SQL Mailing List operated by Hughes Technologies
> To unsubscribe, go to http://www.Hughes.com.au/extras/email/
>
-----------------------------------------------------------------
This is the Mini SQL Mailing List operated by Hughes Technologies
To unsubscribe, go to http://www.Hughes.com.au/extras/email/
This archive was generated by hypermail 2b30 : Fri Sep 01 2006 - 00:20:00 PDT