[unixODBC-support] pthread and unixODBC problem
nick.gorham at easysoft.com
Fri Oct 14 09:29:32 BST 2005
José M. Puyal wrote:
>We need more than 300 concurrent threads, our tests run about 4000
>concurrent threads (in red hat 8). Until these days we don't have any
>problems because our database connection pool created the connections
>out of the threads, but nowadays sometimes when all the connections of
>the pool are in use, a thread can create a new one on demand.
>what do you mean with " Maybe there is a figure >16k that will work and
>allow you to create more threads" Could you explain it, please?
Well, if the driver and driver manager need more than 16k in stack size
you will need to increase that. I am guessing that with 16k you have
enough memory to run your 4000 threads. That makes 64mb used in stack
to me. If you don't explicitly set the stack size, the system will set
some value for you (I don't know what, maybe 64k). What I am suggesting
is there may be a value larger than 16k which will allow the driver to
connect, but small enough to allow the number of processes you need.
You could also check to see if there are any system limits to the total
stack size that could be increased.
A google search found quite a few pages that discuss the limits of
stacks and threads, for example
More information about the unixODBC-support