Hello,
I need information about the possibilities (performance, configuring, programming etc.) of JDBC connections in large OpenEdge systems. Our client trying to make an assessment of their future project.
Unfortunately, I did not find any information with statistical data of JDBC for OpenEdge.
Could you help me answer to the following questions:
Thank you in advance for your help.
Regards,
Valeriy
Hi Valeriy,
There are OE customers with large numbers of JDBC clients. They
are doing fine. Scalability seems to be OK, with the understanding
that Java can use a lot of memory.
A lot depends on how the JDBC clients are setup. Are they each on
different Windows machines distributed over a network?
Or do they all originate from a Java app server like Tomcat or
Weblogic?
If separate machines, provisioning all the machines with the
latest JDBC driver and required Java version can be the most work.
If client are on a Java app server, then configuring Java (the JVM
really) for good memory support is important.
A lot depends on the JDBC application. Simple reporting uses not a
lot of resources. Doing cursor updates, or doing scrollable
cursors, uses more client resources.
A lot of JDBC app server setups will use a connection pool, often
provided by the app server.
Connection pools can give better latency for JDBC clients. The
tradeoff is that the individual connections in the pool, since
they stay alive for a long time (maybe forever), can accumulate a
fair amount of server resources tied to the connection.
If the app server has a "keep alive" query, used to see whether
server is alive, then the query used is signficant.
There is a JDBC api for this purpose also, but it seems like many
app servers do not use it?
The "keepalive query" , if used, fires frequently and can use a
lot of server resources. It is best to make it a sql statement
that does not touch data or use transaction resources.
We (OE sql) suggest using the statement:
SET TEST SERVER
CONNECTIVITY
This has almost no overhead.
This assumes your OE server is at least OE 11.0.
In all circumstances, you are better off having the latest OE
version and service pack that your installations can support.
Just as an example, 11.4 is better than 10.2B08. Both work fine, but
11.4 has better performance and scalability (in various ways). As
usual, your mileage may vary.
I will put some more specific comments for your questions below.
Thread created by Valeriy BashkatovHello,
I need information about the possibilities (performance, configuring, programming etc.) of JDBC connections in large OpenEdge systems. Our client trying to make an assessment of their future project.
Unfortunately, I did not find any information with statistical data of JDBC for OpenEdge.
Could you help me answer to the following questions:
- Are there any known problems in the OpenEdge database when connecting a large number of JDBC clients (100, 2000, 5000 concurrent connections)? On what it is necessary to pay special attention?
- Is there any recommendations (Best practices) for configuring JDBC for OpenEdge and programming for OpenEdge/JAVA using JDBC connection? (except OpenEdge documentation)
Thank you in advance for your help.
Regards,
ValeriyStop receiving emails on this subject.Flag this post as spam/abuse.
Hi Valeriy,
There are OE customers with large numbers of JDBC clients. They
are doing fine. Scalability seems to be OK, with the understanding
that Java can use a lot of memory.
A lot depends on how the JDBC clients are setup. Are they each on
different Windows machines distributed over a network?
Or do they all originate from a Java app server like Tomcat or
Weblogic?
If separate machines, provisioning all the machines with the
latest JDBC driver and required Java version can be the most work.
If client are on a Java app server, then configuring Java (the JVM
really) for good memory support is important.
A lot depends on the JDBC application. Simple reporting uses not a
lot of resources. Doing cursor updates, or doing scrollable
cursors, uses more client resources.
A lot of JDBC app server setups will use a connection pool, often
provided by the app server.
Connection pools can give better latency for JDBC clients. The
tradeoff is that the individual connections in the pool, since
they stay alive for a long time (maybe forever), can accumulate a
fair amount of server resources tied to the connection.
If the app server has a "keep alive" query, used to see whether
server is alive, then the query used is signficant.
There is a JDBC api for this purpose also, but it seems like many
app servers do not use it?
The "keepalive query" , if used, fires frequently and can use a
lot of server resources. It is best to make it a sql statement
that does not touch data or use transaction resources.
We (OE sql) suggest using the statement:
SET TEST SERVER
CONNECTIVITY
This has almost no overhead.
This assumes your OE server is at least OE 11.0.
In all circumstances, you are better off having the latest OE
version and service pack that your installations can support.
Just as an example, 11.4 is better than 10.2B08. Both work fine, but
11.4 has better performance and scalability (in various ways). As
usual, your mileage may vary.
I will put some more specific comments for your questions below.
Thread created by Valeriy BashkatovHello,
I need information about the possibilities (performance, configuring, programming etc.) of JDBC connections in large OpenEdge systems. Our client trying to make an assessment of their future project.
Unfortunately, I did not find any information with statistical data of JDBC for OpenEdge.
Could you help me answer to the following questions:
- Are there any known problems in the OpenEdge database when connecting a large number of JDBC clients (100, 2000, 5000 concurrent connections)? On what it is necessary to pay special attention?
- Is there any recommendations (Best practices) for configuring JDBC for OpenEdge and programming for OpenEdge/JAVA using JDBC connection? (except OpenEdge documentation)
Thank you in advance for your help.
Regards,
ValeriyStop receiving emails on this subject.Flag this post as spam/abuse.
Hi Steve,
Thank you very much for your answer! This is useful information.
I will discuss this with the client and if they have any more questions I will come back )
Regards,
Valeriy