Optimizing FM Performance
Hi all,
I have been working with Filemaker for 4 years now and developed a small business erp system that is used by a few hundred users. Most of them work on Remote Desktop Servers or connect directly to the LAN/Windows FileMaker Server 21.
Since a few weeks we are starting to get the requirement for „remote clients“ as well as wifi-connected clients. As it seems the database is performing really slow when accessed via these channels. LAN is working very good and instant. A simple record creation for example takes up to 10 seconds. In LAN a few milliseconds.
I already spent several hours on research for possible performance issues and did clean up unstored calculations, deprecated relationships, fields, tables and portal filters. Also I used the „anchor-boy“ system as well as sensible indexing from the very first day. But still not noticing a real difference. I gotta state that I designed some of the layouts to be very complex, lots of portals, card windows, etc. Getting rid of those is not an option though. I have tried setting up mirror sync, but since our relationship graph is still complex, I was not able to sync.
Two things I noticed:
1) Most of the Layouts use a „custom design“ which is stored, but also most of the objects seem to have an „indvidual style“ - marked with „*“. Could this be an issue? Does styling/designing complex layouts can cause tremendous performance issues?
2) There is a very high delay between pressing a button and the script behind it being executed when connected via Wifi or VPN. But I couldn‘t find any detailed information on this.
Things to be considered:
We utilize psos for scripts where data is not instantly needed on the client.
Plugin wise we use a lot of MBS. Nothing else.
We tried to disconnect the frontend (ui) from the backend (local filemaker DB with server side external data source filemaker DB), performance was worse.
Maybe some of you guys have an idea on what to check or improve - I am starting to lose my mind over this topic.
Thanks in advance!