maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #00069
Some notes on pool_of_threads
Hi there,
I've been playing around with the pool_of_threads addition and here is some
of what I've found:
All of this was on Mac OSX 10.5
1) Biggie here: Running the server with the --extra-port=NNNN option (with
pool-of-threads set) causes the server to start then immediately stop. I'm
still looking through logs and trace files to see if I can find anything
meaningful. I am able to run without setting extra-port though.
2) We can set extra-max-connections when --extra-port isn't set. The limit
is 100000, at least on my system. As I haven't been able to get the server
running with extra-port yet, I haven't tested much beyond this.
3) We can also set thread-pool-size even if thread-handling isn't set to
pool-of-threads. It's limit appears to be < 2560 (I was running into some
mess on my system so I haven't pinpointed it yet). The biggest thing is
that if thread-pool-size is set too large, we just get a start and stop
(Once again, my logs are a bit of a mess due to 'play', so I'll have more
info on the server behavior in a bit).
4) I found that if the number of connections is = thread-pool-size, new
connections will terminate within 'connect-timeout' seconds (there was some
question about whether we had to wait for the denied connection to receive a
message until after a thread was freed).
5) Due to these problems (most especially #1), main.pool_of_threads.test
fails on my machine. If I remove the --extra-port stuff, the test will run
more than otherwise (the server dies quickly with extra-port stuff).
For extra-max-connections and thread-pool-size, do we want to allow these to
be set even if they aren't relevant to the way the server is currently
running?
Is there any specific information I can provide if anyone wants to look into
why the server dies when I try to use --extra-port?
Testing notes:
1) I have some changes to make to pool_of_threads.test (style, additional
testing, etc).
2) We should also add some testing for extra-max-connections,
thread-pool-size, etc. Possibly to variables.test, though somewhere else
would work. I've played around a bit with dynamically changing the
variables, etc. I just can't get MTR to run the test to really polish my
proposed changes before submitting a patch.
Thanks,
Patrick.
Follow ups