I may end up being banded for asking too many questions ;)

Tonight I was testing a web service interface that hit the database.  I did 
some application level performance tuning and have a single invocation working 
pretty good.  Simultaneously the system is processing about 50 inserts per 
seconds of performance data.  So far so good.   

Then I started testing with a second invocation instance of the web service 
interface.  The second instance performed very badly.   It took almost 15 
minutes to process one request whereas the first instance was processing the 
same request in about 20 seconds over and over.  Looking  at 
syscs_diag.lock_table and syscs_diag.transactions does not reveal anything out 
of the ordinary.   

It is almost as if the second instance was "starved".  Through jvisualvm I did 
thread dumps and it seemed the second instance was processing but very slowly.  
 

So a couple of questions:

Is there anything I can use to monitor requests to the database?  Turning on 
tracing etc. produces too much noise because of the 50 inserts/second of the 
performance data.
Is there "fair" processing among queries.  That is, I have to request paths 
that are essentially identical but one seems to be preferred over the other or 
at least is seems like it is.


Reply via email to