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]