Bug 4808

Having Performance issues after Migration from PB7 to PB2019 16 October, 2020

Prasanth Kalivarapu
16 June, 2020
Product: PowerBuilder Category: Other
Version: 2019 Build: 2170
Classification: Publishing: Public
Priority: P3
Status: Reproducing Reason:
Ken Guo @Appeon 16 October, 2020
#18
Hi Prasanth,

From the pdf you provided, the info listed in it shouldn’t affect the performance of your application.

I really hope you could compare your application and locate which code is causing the performance issue, only in this way we could further locate the issue.
It would be very helpful if you could try your best to provide a small case for us.


Regards,
Ken
Prasanth Kalivarapu 15 October, 2020
#17
keywords_migrationassistant.pdf (203KB)

Hello All

We made few changes in code to verify whether adding ORA reduced any impact of performance. We also made few tweaks to code to stop calling garbage_collect() in the code after our PB migration from version 7 to PB2019 ver 2170.
Have ran PB migration utility to check for obsolette functions and feels these are valid conditions only. DO we need to make any changes in order to have better performance.
Please find the attachment attached below.

Thanks
Prasanth
armando herrera @Appeon 02 October, 2020
#16
Hi Prasanth,

I'm just touching base with you about this ticket, please let us know if there is something else to support you with.

Regards!
armando herrera @Appeon 23 September, 2020
#15
Hi Prasanth, 

I would like to check with you if the response provided has been helpful enough to resolve your case. If so, can we proceed to close the ticket?.
Otherwise, do let us know if we can provide you with any further assistance and keep in mind that you are always welcome to open another ticket in case you need it.


Regards!
armando herrera @Appeon 10 September, 2020
#14
Hi Prasanth,

Are you still facing this matter? 
Is there anything else we can do to keep helping?.

Regards!
armando herrera @Appeon 11 August, 2020
#13
Hi Prasanth, 

This ticket was stopped due to a required test case that we need to collect more information, please note you can also send us a Set of screenshots or a small video showing the case so that we can try to collect the information we require to move on.

Thanks for your understanding!

Regards!
Ken Guo @Appeon 21 July, 2020
#12
Hi Prasanth,

I suggest you add some output logs to the functions or events in the windows or objects that have poor performance. And in the output logs, please also add milliseconds, and then you can find which exact line is causing the performance issue.

To better analyze this issue, please locate the exact line that is causing the issue and in the meantime, it would be better if you could provide a small test case for us. Thanks in advance.


Regards,
Ken
Prasanth Kalivarapu 21 July, 2020
#11
Hi Ken,
Used same database and on same system. Still there are some performance issues. Let me know what you need in order to curb the situation. We are about to go live with PB2019 this week. Need some resolution as quick as possible. 

Had provided config files with JDBC.OracleDriver in connection pool within apache weblogic server.
What steps need to be followed to find the exact line where the performance impact is there? 

Thanks
Prasanth
Ken Guo @Appeon 14 July, 2020
#10
Hi Prasanth,

Your app was upgraded from Sybase PB 7 to Appeon PB 2019. Please note that versions after Sybase PB 7, start from PB 10, such as PB 10/11/12.6, support Unicode. These versions might reduce performance.
To better understand this issue, I suggest you use the same code to run the same database in one machine and then compare the performance between PB 7 and PB 2019. After that, please also send us the comparison results so that we could better know the differences. 

If we need to resolve the performance issue, we need you to identify on which line of code is causing the issue in your application and then let us know the comparison of test results.

Moreover, I suggest you use Run as administrator to launch IDE or EXE and then see if it is better.


Regards,
Ken
Chris Pollach @Appeon 13 July, 2020
#9
Hi Prasanth ;

  Thank you for confirming the use of the GarbageCollect() command. This is a very CPU bound command however, as long as your App is not calling this command on a frequent basis, it should not cause performance issues.

  Again, an SQL Trace would be most helpful for us to study.

  In the mean-time, I will now transfer this ticket over to the main Support / Engineering team for their review and other possible suggestions for you to think about that might help/resolve this issue.

Regards ... Chris
Prasanth Kalivarapu 13 July, 2020
#8
(In reply to Chris Pollach @Appeon from comment #6)
Hi Prasanth ;

  Thank you so much for the Application *Profile* trace! However, was this
using ODBC or Oracle native driver? We would need both in order to compare.

  We would still appreciate an *SQL trace* (which is different) as explained
in my previous post. Again, both traces for ODBC and native Oracle would be
need in order for Appeon to compare. Make sure that you just run the same
few example troublesome dialogue(s) in both tests.

  Also, please attach all your Transaction Object settings for ODBC and then
for Native Oracle as well to this ticket for us to compare.

Many thanks in advance!

Regards ... Chris
Hello Chris We are using weblogic as middleware in our application, in weblogic we are setting application profile as "JDBC.OracleDriver" this is same for PB7 and PB2019. Yes in PB App, we call the GarbageCollect() in some places. Thanks Prasanth
Chris Pollach @Appeon 10 July, 2020
#7
PS: Does your PB App call the GarbageCollect() command by chance?
Chris Pollach @Appeon 10 July, 2020
#6
Hi Prasanth ;

  Thank you so much for the Application *Profile* trace! However, was this using ODBC or Oracle native driver? We would need both in order to compare.

  We would still appreciate an *SQL trace* (which is different) as explained in my previous post. Again, both traces for ODBC and native Oracle would be need in order for Appeon to compare. Make sure that you just run the same few example troublesome dialogue(s) in both tests.

  Also, please attach all your Transaction Object settings for ODBC and then for Native Oracle as well to this ticket for us to compare.

Many thanks in advance!

Regards ... Chris
Prasanth Kalivarapu 10 July, 2020
#5
tracing pb2019.zip (8644KB)

(In reply to Prasanth Kalivarapu from comment #4)
(In reply to Chris Pollach @Appeon from comment #3)
Hi Prasanth ;

  The next step would be to isolate the performance issue(s) to whether they
are DBMS related and/or PowerScript execution related.

  If you can replicate the issue in your development environment when run
from the IDE .. you can use the Application Profiler (AP) to get a breakdown
of the PowerScript and SQL execution. The AP feature is available in the
IDE's menu: Tools => System Options => Profiling (tab). 
  This will create a PBP file that can then be read by either of the three
built-in viewers (Menu: File => New => Tool (tab) => ????? View (utility)

  Another option is to perform a SQL Trace of the PB2019 based APP. You can
activate this feature at run-time by changing your DB Connection type, as
follows (for example):

SQLCA.DBMS = "ORA"   // TO
SQLCA.DBMS = "TRACE ORA"   

  You can peform the Trace on the PB7 and PB2019 Apps and then compare the
SQL generated and the time to process the related result set.

Note: Make sure that you are *not* using an old Oracle driver. That is,
SQLCA.DBMS = "ORA" and the installed Oracle Client is O19C (matches your
server build).

HTH
Regards ... Chris
Hi Chris I am attaching the trace files where I can see the difference with garbage collector getting called multiple times, and time consumption in some objects is also more.
Prasanth Kalivarapu 10 July, 2020
#4
(In reply to Chris Pollach @Appeon from comment #3)
Hi Prasanth ;

  The next step would be to isolate the performance issue(s) to whether they
are DBMS related and/or PowerScript execution related.

  If you can replicate the issue in your development environment when run
from the IDE .. you can use the Application Profiler (AP) to get a breakdown
of the PowerScript and SQL execution. The AP feature is available in the
IDE's menu: Tools => System Options => Profiling (tab). 
  This will create a PBP file that can then be read by either of the three
built-in viewers (Menu: File => New => Tool (tab) => ????? View (utility)

  Another option is to perform a SQL Trace of the PB2019 based APP. You can
activate this feature at run-time by changing your DB Connection type, as
follows (for example):

SQLCA.DBMS = "ORA"   // TO
SQLCA.DBMS = "TRACE ORA"   

  You can peform the Trace on the PB7 and PB2019 Apps and then compare the
SQL generated and the time to process the related result set.

Note: Make sure that you are *not* using an old Oracle driver. That is,
SQLCA.DBMS = "ORA" and the installed Oracle Client is O19C (matches your
server build).

HTH
Regards ... Chris
Hi Chris I am attaching the trace files where I can see the difference with garbage collector getting called multiple times, and time consumption in some objects is also more.
Chris Pollach @Appeon 16 June, 2020
#3
Hi Prasanth ;

  The next step would be to isolate the performance issue(s) to whether they are DBMS related and/or PowerScript execution related.

  If you can replicate the issue in your development environment when run from the IDE .. you can use the Application Profiler (AP) to get a breakdown of the PowerScript and SQL execution. The AP feature is available in the IDE's menu: Tools => System Options => Profiling (tab). 
  This will create a PBP file that can then be read by either of the three built-in viewers (Menu: File => New => Tool (tab) => ????? View (utility)

  Another option is to perform a SQL Trace of the PB2019 based APP. You can activate this feature at run-time by changing your DB Connection type, as follows (for example):

SQLCA.DBMS = "ORA"   // TO
SQLCA.DBMS = "TRACE ORA"   

  You can peform the Trace on the PB7 and PB2019 Apps and then compare the SQL generated and the time to process the related result set.

Note: Make sure that you are *not* using an old Oracle driver. That is, SQLCA.DBMS = "ORA" and the installed Oracle Client is O19C (matches your server build).

HTH
Regards ... Chris
Prasanth Kalivarapu 16 June, 2020
#2
(In reply to Chris Pollach @Appeon from comment #1)
Hi Prasanth ;

  Are you on Build #2170 or higher of PB 2019?
 
  That is when PB officially supported O18C & 19C

Regards ... Chris
We are on Build 2170. Using O18C and O19C for testing. Same behavior is seen in both the cases.
Chris Pollach @Appeon 16 June, 2020
#1
Hi Prasanth ;

  Are you on Build #2170 or higher of PB 2019?
 
  That is when PB officially supported O18C & 19C

Regards ... Chris
Prasanth Kalivarapu 16 June, 2020
*Phenomenon: We have migrated our application from PowerBuilder 7 version to Appeon PowerBuilder 2019 Build 2170.After Migration without any changes to PowerScript code we are experiencing some performance issues after migration and with same set of code.

*Reproduce Steps:
Same Application ran against same database using PB7 and PB2019.
Same feature have been tested with both the IDE's and performance issue is observed while performing same action using both PB versions.

Remarks:
What steps are required to verify in these cases. Do you have any known issues similar which can help us to look into this performance issue?
Let us know ASAP since we are almost at the final stage of testing to go live.
OS:
Windows 10
Platform:
64-bit
Database Type:
Oracle
Database Version:
19c