I am running in Tomcat by itself. I haven't hit any broker instance errors, just connection pool ones.... but this is solved after changing the maxActive setting.
Aaron
Jason McKerr wrote:
You broker instances would still be limited by your connection pool I think. Are you in a standalone or application server environment?
Jason
On Thu, 2003-07-10 at 22:27, Aaron Longwell wrote:
I have decided to load test an OJB+Struts web application I am building. The results, pass! (but not by a whole lot).
My goal was to support 100 simultaneous users. The application is an event scheduler, for which one view is a calendar-formatted display of events for the month. It uses OJBs getCollectionByQuery (PB API) to retrieve the events.
Using Apache's JMeter, I simulated 100 users loading the calendar page about every 15 seconds. This comes out to around 6-8 requests per second. Average response times are under 1 second on my very modest machine. I received no errors after running at this load for several minutes... in short.. a successful test.
However, upping the users to 150 begins destroying the error percentage. Every error that occured was a commons-logging "unable to borrow connection from pool" exception (see afterword for StackTrace). Can someone explain the performance enhancement features of OJB to me?
I have perused the OJB.properties and found maxActive=100 as the default for the number of brokers. I have changed this to 600 with no result. In my stack trace I see that there is a connectionPoolDescriptor setting of maxActive=21 (see below). Is it possible to change this value in the properties file? What is the name for the name value pair if so? Are there other enhancements I can make to support more users?
Thanks, Aaron Longwell
Selected Portions of Stack Trace:
Used ConnectionManager instance could not obtain a connection: Could not borrow connection from pool - org.apache.ojb.broker.metadata.JdbcConnectionDescriptor: [EMAIL PROTECTED]
jcd-alias=dovedb
default-connection=true
dbms=MySQL
jdbc-level=2.0
driver=com.mysql.jdbc.Driver
protocol=jdbc
sub-protocol=mysql
db-alias=//localhost/dove
eager-release=false
ConnectionPoolDescriptor={whenExhaustedAction=0, maxIdle=-1, maxActive=21, maxWait=5000, removeAbandoned=false, numTestsPerEvictionRun=10, testWhileIdle=false, minEvictableIdleTimeMillis=600000, testOnReturn=false, logAbandoned=false, removeAbandonedTimeout=300, timeBetweenEvictionRunsMillis=-1, testOnBorrow=true}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
