Hi Folks - since we are having speed issues over a WAN I have been rechecking the table calcs we are using.
Can some one confirm if table calcs are run every time a form is shown with those columns shown, if they are run when a parent form is displayed (and calcs are in a tab) or if they are only fired when data changes?
We had a similar issue when we moved our local development environment to a hosted production environment.
The things we experienced that mainly caused the slowdown was:
a) usage of a lot of related data on a form (lots of queries are fired and in case of related data in a form, this form has to be cached as well)
b) usage of relations in calcs.
we solved a & b as far as we could by
de-normalizing of data in the db (no fun but very necessary)
touch all depending forms as soon as the user enters different parts of the program.
We’re talking approx. 10-15 forms to be touched which takes some time, but once forms are touched the user can go ahead switching to different forms very fast!
Meanwhile Servoy also fixed the chatty behaviour of RMI by compressing the data.
mboegem:
Hi Ian,
The things we experienced that mainly caused the slowdown was:
a) usage of a lot of related data on a form (lots of queries are fired and in case of related data in a form, this form has to be cached as well)
b) usage of relations in calcs. Now it runs kind of smooth.
Hi Marc - thanks for that feedback. These table calcs are all simple return a*b; style - there are no relations involved at all. there are around 53 of them in one table, and 3 aggregates.
I figured using table calcs instead of rawSQL was a better option considering they would need to be fired from lots of locations.
we’ve discovered an errant rowBGColor function dating back to before we had it in a global - and that was firing massive amount of times but not sure if that would slow down the net traffic - I doubt it.
pbakker:
Try the Profiler View: it tells you exactly what is running when and how long it takes.
Paul
Paul - could you clarify this for me please:
Are table calcs are run every time a form is shown with those columns shown, if they are run when a parent form is displayed (and calcs are in a tab) or if they are only fired when data changes?