I use jcosole to monitor my app and find many thread is blocked BLOCKED on [EMAIL PROTECTED]
and i find the number of pool-4-thread-xx is equal with the number of connector that my client create . I add new ExecutorFilter(Executors.newCachedThreadPool())) in filterchain ,why the number of thread for handler is equal with the number of connector that my client create ?? Frédéric Brégier wrote: > > I can say some more point (I had such problem) related to Oracle and Java > performance. > > When you try a loop of requests over the database as suggested Maarten, > try to see also how is configured Oracle. > For instance, Oracle can have two levels of pool of connections : > - one from the application point of vue (using dbcp.BasicDataSource for > instance as you said) > - another one using thread pool of connection directly in Oracle > Both can be used. > By default, in Oracle, 1 connection from the application is 1 > thread/connection in Oracle, > so 10000 connections = 10000 threads.connections in the Oracle server. > In this mode, Oracle can have a limitation on accepting multiple > connections > (perhaps 8 in your case ?). > Using thread pool in Oracle, 1 connection from the application is still 1 > thread/connection > but using a pool of 200 directly in Oracle, 10 000 connections from > applications > will means 200 connections. In fact, in this mode, requests are > multiplexed > so using less > thread/connection in Oracle. > What I want to say is looking only at the Java code might not be enough... > > Also, if you can, recheck you use pooled connection since > connect/disconnect > can be very heavy. > Finally, try to use a prepared statement instead of a standard statement > since Oracle will perform really faster. Even more, if you can, try to use > a > stored procedure. > > Frederic > ----- Original Message ----- > > what are the other values for BasicDataSource ? > initialSize, maxIdle, minIdle ? > > How much threads is your mina app using ? > > You could try to see how much insert/transactions your app can do per > second > without using mina and loadrunner: just start x threads INSIDE your > application that do the db operations in a loop. > Then you know if it's mina related or not. > > Maarten > > On 10/24/07, tiandike <[EMAIL PROTECTED]> wrote: >> >> >> I use org.apache.commons.dbcp.BasicDataSource and set maxActive =1000 >> >> i don't know why is 8? why not other number? >> >> >> >> Maarten Bosteels wrote: >> > >> > Hello, >> > >> > With 8 users or less your server is doing 2600 inserts per second ? >> > And each insert is a new database transaction ? >> > First of all, I think that ain't bad at all ! >> > >> > Are you using a database connection pool ? >> > Check the size of the pool. >> > >> > Since you don't have problems when you don't perform db operations, I >> > think >> > your problem is not related to MINA. >> > >> > The bottleneck in our MINA based server also turned out to be Oracle, >> more >> > specifically the number of commits that Oracle could do per second. I >> am >> > not >> > saying that Oracle is bad (quite the opposite) just that I think that's >> > where you should look: it has A LOT of tuning options. >> > >> > Maarten >> > >> > On 10/24/07, tiandike <[EMAIL PROTECTED]> wrote: >> >> >> >> >> >> I use loadruner to test my server ,my handler performs database >> >> operations(insert a row a request) >> >> i disable the default ThreadModel setting following >> >> http://mina.apache.org/configuring-thread-model.html >> >> >> >> when i use loadruner to run performance test , a strange phenomenon is >> >> that >> >> when the number of Running Vusers >> >> in loadruner is less than 8 (include 8) the tps is about 2600 ,but >> when >> >> the number of Running Vusers is greater than 8 in loadruner ,the tps >> >> reduce >> >> to very low and number of the records that inserted in oracle also >> >> reduce >> >> to very low . >> >> I don't know why, anyone can help me? >> >> >> >> my server is 4 cpu (Intel(R) Xeon(R) CPU 5110 1.60GHz), >> linux >> >> my database is oracle >> >> jvm version is 6.0 >> >> >> >> (But : if my handler not perform database operations the condition >> above >> >> never happen!) >> >> >> >> -- >> >> View this message in context: >> >> >> http://www.nabble.com/a-question--when-running-performance--test-by-loadruner-tf4683007s16868.html#a13381592 >> >> Sent from the Apache MINA Support Forum mailing list archive at >> >> Nabble.com >> >> . >> >> >> >> >> > >> > >> >> -- >> View this message in context: >> http://www.nabble.com/a-question--when-running-performance--test-by-loadruner-tf4683007s16868.html#a13383246 >> Sent from the Apache MINA Support Forum mailing list archive at >> Nabble.com >> . >> >> > > > -- View this message in context: http://www.nabble.com/a-question--when-running-performance--test-by-loadruner-tf4683007s16868.html#a13406063 Sent from the Apache MINA Support Forum mailing list archive at Nabble.com.
