we have an applicaiton that has multiple worker threads each of which
have messages passed to them in order to process. We do this in order
to scale the number of messages we can process at a time, i.e. the
more worker threads we create the more messages we will be able to
process. Each worker thread has its own database connection.
What we have noticed is when we create more than 4 worker threads the
performance of the system drops, however the bottleneck is not the
Oracle server but out application.
We have run multiple instances of our applicaiton against the Oracle
database and found that for each new applicaiton we get a good
increase in performance, but when we try to do more processing for
within the one application we get no performace increase.
We do not think that the problem is with contention in our applicaiton
as we have tested it on another database at it worked well, the more
threads we created the more messages we were able to process (up to a
point of course).
Has anyone had expereince with this type of problem? We think there is
contention within the JDBC driver when opening multiple connections
and performing multiple statements all from within the SAME process.
Any ideas?
Hugh.