wow, that just seems wrong. Have you tried other jdbc drivers?  I know
from first hand experience with Oracle's jdbc driver, w/o pooling it's
minimum of 100ms to get connection. With pooling, it's usually less
than 5ms.

peter


On Fri, 10 Sep 2004 18:56:42 +0200, Henrik Rathje <[EMAIL PROTECTED]> wrote:
> 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]
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to