I have a screen that is taking a long time to load. The preparation only takes about 2 seconds to load the issue is after that the rest of the screen takes about 15 - 20 seconds to load.
Any ideas on how to speed up the screen?
Would turning splitting the screen up into web block and then bringing them together speed things up?
Open to any and all ideas. Thanks in advance!
Hello Pedro,
It sounds to me that you are processing a lot of information in that screen.
One way to reduce that loa can be to split up the screen into multiple Webblocks, these are processed independently.
Another way is to limit the information retrieved/shown on the page, the more information the page has to load the longer it will take.
Would it be possible for you to share a screenshot of your preparation?
Paulo Rosário
I can't provide a screenshot but the preparation is as follows:
11 aggregates that are used for dropdown combo boxes
6 aggregates that are used just to display their counts
3 Aggregates that are used to display tables
2 SQL that are used for dropdowns combo boxes
1 SQL that is used to display a table
I will try to split the screen up into web blocks and see if this can help with load time.
Do you need all the info on those aggregates. Try to join multiple aggregates into one or two if your have references between them. Also if you do not need all data from an aggregate for a dropdown for example and just need one or 2 columns from that aggregate just use the group by on those 2 columns. These way you will only fetch those 2 columns.
Also make sure those 3 SQL queries are properly done as i have seen SQL queries affecting performance in the past.
Hope this helps you.
Lourenco Matalonga
HelloHow much data you are fetching from your aggregates? What is the page load size, I mean how much widgets or forms you have on screen, also you can check the Life Time to know the exact detail of the resource which is taking a longer time.
Some of the points listed here can lead to performance issues you can check here
ThanksTousif Khan
Hi,
You can make a detailed analysis of you screen loading in LifeTime Analytics:
https://success.outsystems.com/documentation/11/managing_the_applications_lifecycle/monitor_and_troubleshoot/troubleshoot_the_performance_of_an_application/
Maybe with that tool you can understand what is really the problem. In that link you can see an overview of how to use that tool and, don't forget, that only works for Traditional Applications.
Hope that can help you.
Best regards,
Ricardo
Hi Ricardo,
I've tried to access this Life Time Tool and can't seem to find it. Do I have to enable something in service studio or Service Center?
Hi Pedro,
No, LifeTime is part of the infrastructure. Is the tool where you can make deploys between environments (and other things too :)). You can access it trough here:
In your Service Center hmpepage, click in the link mentioned in the print.
You can check here for a quick Analytics overview:
https://www.outsystems.com/evaluation-guide/what-kind-of-monitoring-and-analytics-does-outsystems-offer/
The layout is from an older LifeTime version, but the functionalities are the same.
Hope this can help you.
Hello @Pedro Torres
You can check in LifeTime tool which action makes your screen slow, but if it's trainload so initially all data checks done in Prepration,
But you can check in LifeTiime for clarity.
I hope it'll help you.
ThanksDeep
Hi, pedro
You are nearly fetching 23 tables at one's, if you required all the tables data for the screen, i think you can't decrease the screen loading time and if you don't share details that how you are showing data on the screen i couldn't help with that.
Try to refactor the code once again, are there any chances for aggregates to set only on demand it will help to decrease the screen loading time and also its depends on the records size you are fetching because size increases the server to client data transfer time increases
Also try to set the aggregates and data actions that you do not need straight away to "only on demand", this will take some of the load from the at start.
Pedro,
You can check the details of an element with the time taken in browser inspect, this will give an idea to check which element is taking time to load and then you can work to optimize it.