We had a lot of grief troubleshooting a complex form so I'm posting this here in case someone else hits the same issue. There's not really a problem to solve, I have to document it for our project so it seemed useful to share.
Context:
- We were testing converting a complex report to see if we could use forms to streamline the approval process.
- Replicating the original report in forms resulted in a complex form with a large (19) number of lookups, as the original template used multiple separate dynamically generated tables.
- The total number of records wasn't especially high (~200).
- As the form was being built out performance quickly started to degrade, with initial page load times exceeding ten seconds at best or 25-30 at worst.
- The data load in was visible to the user as they had time to browse before the data loaded in.
-
Laserfiche Forms Professional Version 11.0.2311.50585
-
Modern Form Designer
Issue:
- Our troubleshooting included: increasing server resources, checking the underlying SQL performance. No significant improvements were made.
- To isolate the issue a new blank form was created, and the performance tested (averaged load times).
- After each testing iteration an additional lookup was added.
- Performance degraded roughly linearly with each lookup.
Observations:
- The lookups fire in an apparently random order (I don't think this matters, it just confounded out troubleshooting).
- The lookups run sequentially.
- The first lookup averages ~50ms
- Each subsequent lookup starts after the previous one completes and takes ~500ms.
- As a result lookup 1 takes ~50ms, lookup 3 takes ~1050ms, lookup 10 takes ~4550ms (I've attached a table out to 20 lookups).
Conclusion:
- These results are consistent enough that it doesn't look like a bug, just how the software handles data lookups.
- Forms with a large number of lookups are going to perform poorly. This will need to be accommodated in form / process design.
Approximate expected lookup load times: