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
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!
Thank you for the suggestions. We will try to follow up on these.