1. Craig Meinen
  2. PowerServer
  3. Tuesday, 30 January 2024 20:29 PM UTC

Hi All.

We have recently moved from the desktop GUI application to the cloud-based application using PowerServer for one of our existing customers.  The legacy GUI application (PB 2019 R3 Build 2779, Runtime 19.2.0.2779) interfaced with Sybase ASE databases.  The new application (PB 2022 CloudPro Build 1900, Runtime 22.0.0.1900) connects to MS SQL Server databases. We are still fairly new to this Cloud-based architecture, so we are looking to those with expertise in this environment.  We are also new to MS SQL Server and the nuanced differences inherent to it as opposed to Sybase ASE.

There seems to a fairly significant increase in the time that it takes to process the transaction in the new cloud-based deployed application configuration versus the deployed legacy application.  We expected that there may some increase in processing time, but what we are seeing is generally more than twice the amount of time compared to the legacy application configuration.  Using the new deployed client, what were one to three second transactions have lengthened to three to six seconds (or more in some cases). The transaction processing duration is more comparable to the legacy application when running the new application from the CloudPro IDE though, because the IDE is also directly connected to the databases.  

We have added code to check the time at various stages of the processing within the cloud-based deployed client, and those results seem quite comparable in the old and new applications.  So, based on our testing to date, it would appear that the processing time degradation is coming into play somewhere in the PowerServer processing.

We are getting some negative feedback from users, so we are looking for some ideas and/or assistance in determining what, if anything, can be done to improve the performance (now that the SQL is contained in the server). 

Any and all feedback would be appreciated.

Thank you.

Craig

 

 

 

Armeen Mazda @Appeon Accepted Answer Pending Moderation
  1. Wednesday, 31 January 2024 04:18 AM UTC
  2. PowerServer
  3. # 1

Most common cause of this problem is too many server calls.  Recommend using the PowerServerLabels as relatively easy way to boost performance without having to do any major rewrite: https://docs.appeon.com/ps2022/Grouping_server_calls.html

Comment
  1. Craig Meinen
  2. Wednesday, 31 January 2024 23:19 PM UTC
Hi Armeen.



We will look into this as part of Chris Pollach's suggestion below.



Thank you.
  1. Helpful
  1. Armeen Mazda @Appeon
  2. Wednesday, 31 January 2024 23:25 PM UTC
You're welcome. This section in the guide explains why too many server calls causes problem over Internet vs. client/server LAN: https://docs.appeon.com/ps2022/Impact_of_the_Internet_and_slow_networks.html
  1. Helpful
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Tuesday, 30 January 2024 21:33 PM UTC
  2. PowerServer
  3. # 2

Hi Craig;

  Have you looked at tuning your PowerServer App(s) for N-Tier use?
FYI: https://docs.appeon.com/ps2022/performance_guide.html

Regards .. Chris

Comment
  1. Craig Meinen
  2. Wednesday, 31 January 2024 23:19 PM UTC
Hi Chris.

We will follow up with the link you provided.



Thank you.
  1. Helpful 1
There are no comments made yet.
Ronnie Po Accepted Answer Pending Moderation
  1. Tuesday, 30 January 2024 21:23 PM UTC
  2. PowerServer
  3. # 3

I'd start by trying to identify one particular transaction that's getting complaints and use that as a representative case for troubleshooting.

Does the transaction involve a lot of successive calls to the database? (For example, begin transaction, insert a master record, insert a series of detail records, update status of various records, etc., before issuing a commit.) Each action potentially requires a trip from the client, to the Web API, to the database and back. You can save some round trips by batching calls using PowerServerLabel. There are examples in the documentation.

Comment
  1. mike S
  2. Tuesday, 30 January 2024 21:44 PM UTC
internet - if you have slow internet then everything will be slow. how far away is your cloud provider? what kind of latency do you have?



database: MS SQL Server on the cloud. how is this installed? is this on a vm in the cloud? Is this a cloud service (azure sql)? this configuration may be slower.



web api server - what is this configuration? cpus, memory? is this on IIS or a container?



If your 'transaction ' is a process that does a lot of inserts, updates, selects, then you need to minimize them as much as possible. One way is as ronnie said, but that assumes you can do all the updates together. One of the things we did was convert some of our most extensive processes to web api calls which dropped processing on those down by a factor of 10 or more. the only way to do that is to find your slow processes and work on them one at a time.



Also, we found that customers will complain if something that used to take 1 second now takes 3. When we offered to move them back to client/server they stopped complaining. I'm not saying to not get your performance faster, but to make sure you are allocating resources to what is most important and not just what is different. In any case, there won't be just one thing to change to help your performance - there is no 'fast' button.



good luck!







  1. Helpful 1
  1. Craig Meinen
  2. Wednesday, 31 January 2024 23:24 PM UTC
Hi Mike and Ronnie.

Thank you for the suggestions. We will try to follow up on these.



  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.