Pages in Construction or Custom webapps can be affected by both the overall page design and underlying SQL Server views.
Issue symptoms
- Loading a page initially takes several seconds or times out
- Adding a current page to the Quick Links takes several seconds or times out
- Sorting a page takes several seconds or times out
- Filtering a page takes several seconds or times out
- Editing a record (by clicking the pencil-shaped Edit icon) takes several seconds or times out
Solutions - implement as many of these as is feasible
1. Move as many page columns as possible from the Horizontal View to the Vertical View, as that will reduce this portion of the page load. Note that searchable fields will need to remain on the Horizontal View.
2. Tune the %hor views that the pages are using to execute more quickly. This may require replacing some of the underlying views with tables or adding indexes to the joining fields of underlying tables. Use the SQL Server execution plan feature to identify expensive operations.
3. Page Performance Monitor
If you are running a 6.5.X version of the product, you can employ the new framework utility called "Page Performance Monitor." To access this utility, click Ctrl + Shift + K.
When we ran the Page Performance Monitor on larger Construct pages, we found that there are two metrics that can help troubleshoot delays in load time: the 'dgResponse' and the 'RuntimeUtils.' The 'dgResponse' portion has a long and variable duration, while the 'RuntimeUtils' portion has an average and consistent duration.
The 'RuntimeUtils' portion consistently correlates with the number of columns displayed on the Horizontal View of a page. The more columns you have on the Horizontal View of a page, the longer the page will take to load.
The 'dgResponse' portion is a result of the performance of the page's underlying '%hor' view (Horizontal View). When there are too many columns in the %hor view of an underlying table it prolongs the times it takes to complete queries, which affects the page's performance.