kou2pinso

PI-JDBC Performance

Discussion created by kou2pinso on Mar 9, 2012
Latest reply on Mar 23, 2012 by michaelh

I’m currently developing a Web application that retrieves and displays values coming from the PI Server. I have some questions regarding this application. First of all, my architecture is the following:
-          Our web app is a JAVA6 application executed on TOMCAT 6. This application is accessing the PI Server data via the PI JDBC Driver. It sends SQL queries to a remote PI SQL DAS, which himself is querying the PI Server via the PI OLEDB Provider (PI-SDK). Versions of PI JDBC Driver and PI SQL DAS are 2010 R3 that were released February 2012.
-          Moreover, our application is also using PI AF to obtain its configuration and some calculated values.
-          Since our application is used by many end users, we have put in place a connection pool on the PI SQL DAS which are re-used to save the opening and closing steps of the connection (as detailed in the “PI JDBC 2010 R3 Administrator Guide” on page 26).
-          However, we notice the performance is not so good using this configuration/architecture (we did some testing using the connection parameters “Session Id” and “Session Pipelines”).
 
What are some recommendations if we want to use a connection pool?
Is the PI JDBC Driver roadmap includes any increase in the performance?
Is there any PI JDBC Driver performance benchmark document?
 
As an additional question, is it possible to use the PI JDBC Driver to modify PI AF attributes value?
 
Also, we executed a query using the PI JDBC Driver and the PI OLEDB Provider. This query: "SELECT count(*) from piarchive..picomp2" is quite a long query. If we execute a shorter query in at the same time using another connection: “SELECT top 400 * from piarchive..picomp2 »)”, the execution time for the short query is 10 times longer than normal (how is this concurrent access managed?).

Outcomes