I have to correct myself:
getNumIdle() returned 19 after a little bit of waiting.
but getConnection( ) still takes 1238 miliseconds.
Henrik


On Fri, 10 Sep 2004 18:47:46 +0200
Henrik Rathje <[EMAIL PROTECTED]> wrote:

> Hi,
> I tried your settings, but getNumIdle() still returns 0.
> Why that?
> The maxActive value was 0 because i thought this is neccesary to let 
> the pool never run out of connections:
> http://jakarta.apache.org/commons/dbcp/configuration.html
> maxActive     default:8        The maximum number of active connections that can be 
> allocated from this pool at the same time, or zero for no limit.
> cheers, Henrik
> 
> On Fri, 10 Sep 2004 12:23:40 -0400
> "Shapira, Yoav" <[EMAIL PROTECTED]> wrote:
> 
> > 
> > Hi,
> > Try minIdle = 19, maxIdle = 20, maxActive = 20, initialSize = 20.  I
> > think the maxActive 0 effectively means no pooling.
> > 
> > Yoav Shapira
> > Millennium Research Informatics
> > 
> > 
> > >-----Original Message-----
> > >From: Henrik Rathje [mailto:[EMAIL PROTECTED]
> > >Sent: Friday, September 10, 2004 12:20 PM
> > >To: Tomcat Users List
> > >Subject: Re: DBCP Performance?
> > >
> > >Hi,
> > >seems you are rite:
> > >
> > >org.apache.commons.dbcp.BasicDataSource source =
> > >(org.apache.commons.dbcp.BasicDataSource)ds;
> > >      System.out.println("num of idle connections " +
> > source.getNumIdle()
> > >);
> > >      System.out.println("num of max act connections " +
> > >source.getMaxActive()   );
> > >       System.out.println("username " +  source.getUsername()   );
> > >
> > >prints:
> > >num of idle connections 0
> > >num of max act connections 0
> > >username tomcat
> > >
> > >but why? here is the connection pool configuration:
> > ><Resource name="jdbc/sdb-login" auth="Container"
> > >       type="javax.sql.DataSource"/>
> > >
> > >  <ResourceParams name="jdbc/sdb-login">
> > >    <parameter>
> > >      <name>factory</name>
> > >      <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
> > >    </parameter>
> > >    <parameter>
> > >      <name>driverClassName</name>
> > >      <value>ca.edbc.jdbc.EdbcDriver</value>
> > >    </parameter>
> > >    <parameter>
> > >      <name>poolPreparedStatements</name>
> > >      <value>true</value>
> > >    </parameter>
> > >    <parameter>
> > >      <name>defaultAutoCommit</name>
> > >      <value>false</value>
> > >    </parameter>
> > >    <parameter>
> > >      <name>url</name>
> > >      <value>jdbc:edbc://localhost:IJ7/sdb</value>
> > >    </parameter>
> > >    <parameter>
> > >      <name>username</name>
> > >      <value>tomcat</value>
> > >    </parameter>
> > >    <parameter>
> > >      <name>password</name>
> > >      <value>passwd ;-)</value>
> > >    </parameter>
> > >    <parameter>
> > >      <name>initialSize</name>
> > >      <value>20</value>
> > >    </parameter>
> > >    <parameter>
> > >      <name>maxActive</name>
> > >      <value>0</value>
> > >    </parameter>
> > >    <parameter>
> > >      <name>maxIdle</name>
> > >      <value>0</value>
> > >    </parameter>
> > >    <parameter>
> > >      <name>minIdle</name>
> > >      <value>20</value>
> > >    </parameter>
> > >    <parameter>
> > >      <name>maxWait</name>
> > >      <value>-1</value>
> > >    </parameter>
> > >    <parameter>
> > >      <name>testOnBorrow</name>
> > >      <value>false</value>
> > >    </parameter>
> > >  </ResourceParams>
> > >
> > >Thanks for support, Henrik
> > >
> > >
> > >
> > >On Fri, 10 Sep 2004 11:51:05 -0400
> > >"Shapira, Yoav" <[EMAIL PROTECTED]> wrote:
> > >
> > >>
> > >> Hi,
> > >> Hmm, with minIdle set to 20 and assuming your test gets one
> > connection
> > >> at a time (or less than 20 at a time), I'm a bit confused.
> > >>
> > >> One next step would be to really verify that the pool has available
> > >> connections before the get connection call.  You obviously wouldn't
> > do
> > >> this in a production application, but this is just for debugging a
> > >> performance test.  Cast the DataSource to the concrete implementation
> > >> type, probably org.apache.commons.dbcp.BasicDataSource, and call
> > >> getNumIdle on it to verify it's a positive number before calling
> > >> getConnection.  If it's zero or negative your pool is misconfigured
> > and
> > >> you're creating a new connection, hence the slow performance.
> > >>
> > >> Yoav Shapira
> > >> Millennium Research Informatics
> > >>
> > >>
> > >> >-----Original Message-----
> > >> >From: Henrik Rathje [mailto:[EMAIL PROTECTED]
> > >> >Sent: Friday, September 10, 2004 11:46 AM
> > >> >To: Tomcat Users List
> > >> >Subject: Re: DBCP Performance?
> > >> >
> > >> >Hi,
> > >> >The minIdle value during this test was:
> > >> ><parameter>
> > >> >      <name>minIdle</name>
> > >> >      <value>20</value>
> > >> ></parameter>
> > >> >any other suggestions?
> > >> >Thanks in advance, Henrik
> > >> >
> > >> >
> > >> >
> > >> >On Fri, 10 Sep 2004 11:21:08 -0400
> > >> >"Shapira, Yoav" <[EMAIL PROTECTED]> wrote:
> > >> >
> > >> >>
> > >> >> Hi,
> > >> >> The initial connections can be closed if idle, depending on your
> > pool
> > >> >> configuration, so you might be creating new connections each time
> > >> even
> > >> >> with the pool.  Check your minIdle setting.
> > >> >>
> > >> >> If you're creating a new connection each time, a tiny bit of
> > overhead
> > >> >> can be expected for a pool over a direct DriverManager call.  But
> > >> that
> > >> >> defeats the purpose of pooling.  If your pool is properly
> > configured
> > >> and
> > >> >> has a connection waiting, it should be a little bit more than a
> > hash
> > >> >> lookup to return the connection, which would be significantly
> > faster
> > >> >> than creating a new one.
> > >> >>
> > >> >> Yoav Shapira
> > >> >> Millennium Research Informatics
> > >> >>
> > >> >>
> > >> >> >-----Original Message-----
> > >> >> >From: Henrik Rathje [mailto:[EMAIL PROTECTED]
> > >> >> >Sent: Friday, September 10, 2004 11:16 AM
> > >> >> >To: [EMAIL PROTECTED]
> > >> >> >Subject: DBCP Performance?
> > >> >> >
> > >> >> >Hi,
> > >> >> >has enyone of you recently measured the performance of the DBCP
> > >> >> >Connection Pool? I compared
> > >> >> >
> > >> >> ><snip>
> > >> >> >long start = System.currentTimeMillis();
> > >> >> >Class.forName("ca.edbc.jdbc.EdbcDriver");
> > >> >> >Connection dbcon = DriverManager.getConnection(loginUrl,
> > loginUser,
> > >> >> >loginPa$
> > >> >> >long diff = System.currentTimeMillis() - start;
> > >> >> >System.out.println("creating connection without pool took: " +
> > diff
> > >> + "
> > >> >> >mil$
> > >> >> ></snip>
> > >> >> >
> > >> >> >with
> > >> >> >
> > >> >> ><snip>
> > >> >> >long start = System.currentTimeMillis();
> > >> >> >Connection dbcon = ds.getConnection( );
> > >> >> >long diff = System.currentTimeMillis() - start;
> > >> >> >System.out.println("creating connection with pool took: " + diff
> > + "
> > >> >> >milise$
> > >> >> ></snip>
> > >> >> >
> > >> >> >And got surprisingly results like this:
> > >> >> >
> > >> >> >creating connection without pool took: 465 miliseconds
> > >> >> >creating connection with pool took: 585 miliseconds
> > >> >> >
> > >> >> >In my tests the connection pool is always slower, so what did I
> > do
> > >> >> wrong?
> > >> >> >I guess this Parameter is responsible for holding active
> > Connections
> > >> in
> > >> >> >the Pool:
> > >> >> ><parameter>
> > >> >> >      <name>initialSize</name>
> > >> >> >      <value>20</value>
> > >> >> ></parameter>
> > >> >> >So there shold be active Connections before the getConnection( )
> > is
> > >> >> >called .. Any ideas?
> > >> >> >Regards, Henrik
> > >> >> >
> > >> >>
> > >>
> > >---------------------------------------------------------------------
> > >> >> >To unsubscribe, e-mail:
> > [EMAIL PROTECTED]
> > >> >> >For additional commands, e-mail:
> > [EMAIL PROTECTED]
> > >> >>
> > >> >>
> > >> >>
> > >> >>
> > >> >> This e-mail, including any attachments, is a confidential business
> > >> >communication, and may contain information that is confidential,
> > >> >proprietary and/or privileged.  This e-mail is intended only for the
> > >> >individual(s) to whom it is addressed, and may not be saved, copied,
> > >> >printed, disclosed or used by anyone else.  If you are not the(an)
> > >> intended
> > >> >recipient, please immediately delete this e-mail from your computer
> > >> system
> > >> >and notify the sender.  Thank you.
> > >> >>
> > >> >>
> > >> >>
> > ---------------------------------------------------------------------
> > >> >> 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]
> > >>
> > >>
> > >>
> > >>
> > >> This e-mail, including any attachments, is a confidential business
> > >communication, and may contain information that is confidential,
> > >proprietary and/or privileged.  This e-mail is intended only for the
> > >individual(s) to whom it is addressed, and may not be saved, copied,
> > >printed, disclosed or used by anyone else.  If you are not the(an)
> > intended
> > >recipient, please immediately delete this e-mail from your computer
> > system
> > >and notify the sender.  Thank you.
> > >>
> > >>
> > >> ---------------------------------------------------------------------
> > >> 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]
> > 
> > 
> > 
> > 
> > This e-mail, including any attachments, is a confidential business communication, 
> > and may contain information that is confidential, proprietary and/or privileged.  
> > This e-mail is intended only for the individual(s) to whom it is addressed, and 
> > may not be saved, copied, printed, disclosed or used by anyone else.  If you are 
> > not the(an) intended recipient, please immediately delete this e-mail from your 
> > computer system and notify the sender.  Thank you.
> > 
> > 
> > ---------------------------------------------------------------------
> > 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]

Reply via email to