Connection Pooling for 4GL/dbaccess
Posted in 2004
Topics: Performance & Tuning, Connectivity: ODBC / JDBC / .NET, Connectivity: ESQL/C, 4GL & Embedded SQL, Server Administration, Java & JDBC Development
Hello all,
Our application relies heavily on many short lived 4GL and dbaccess
sessions.
In the process of some performance tuning, I am noticing that
executing a simple query through dbaccess on clients (remote from the
DB server using tlitcp), can take anywhere between 100 and 500 ms.
Now my first question is, why such a variance? I would expect to see
some number be consistent, like most of the time 300 ms, but instead
it appears to be quite erratic, sometimes 100ms, sometime 500ms,
sometimes 200ms, etc.
Second question is, does something exist that could act as a
connection pool for my client app servers which connect to the DB? For
instance, instead of using 'tlitcp', they could use shared memory to a
local connection pool, and that pool would be doing 'tlitcp' to the DB
server?
I come from Java background and connection pooling is natural. It's
assumed the cost of establishing the connection is quite high. I know
this to be true of establishing a new JDBC connection, but what about
the cost of a 4GL or dbaccess establishing a connection?
Hope to hear some of your thoughts on this.
Regards,
Douglas Howser
Take a look at Informix MaxConnect, might be what you're looking for.
http://www-306.ibm.com/software/data/informix/tools/maxconnect/
Douglas Howser wrote:
> Hello all,
>
> Our application relies heavily on many short lived 4GL and dbaccess
> sessions.
>
> In the process of some performance tuning, I am noticing that
> executing a simple query through dbaccess on clients (remote from the
> DB server using tlitcp), can take anywhere between 100 and 500 ms.
>
> Now my first question is, why such a variance? I would expect to see
> some number be consistent, like most of the time 300 ms, but instead
> it appears to be quite erratic, sometimes 100ms, sometime 500ms,
> sometimes 200ms, etc.
>
> Second question is, does something exist that could act as a
> connection pool for my client app servers which connect to the DB? For
> instance, instead of using 'tlitcp', they could use shared memory to a
> local connection pool, and that pool would be doing 'tlitcp' to the DB
> server?
>
> I come from Java background and connection pooling is natural. It's
> assumed the cost of establishing the connection is quite high. I know
> this to be true of establishing a new JDBC connection, but what about
> the cost of a 4GL or dbaccess establishing a connection?
>
> Hope to hear some of your thoughts on this.
>
> Regards,
>
> Douglas Howser
Related threads
- Re: Re: Crash course for an Oracle DBA
- Re: IDS 7.30 do not start - NT
- Re: IDS 10 erratic run times
- Client SDK