If you have a slow and complex microflow, you could add timing information to the flow and log the results at various stages of its execution. This should give you a basic understanding of how long various parts of the microflow take to execute and help you narrow down the cause of the slowness. I wrote a blog post on timing microflows a few months ago that may be of help if you want to take this approach.
https://medium.com/mendix/timing-mendix-microflows-1f85df492729
Apart from this, Mendix publishes best practices in the documentation. Make sure your app is following this advice to ensure the best performance.
https://docs.mendix.com/refguide/community-best-practices-for-app-performance/
I hope this helps. Good luck!
I 100& agree with timers and logs. You could do live conditional debugging in your app and take note of the slow points.
You could also try running it locally using the DB from your server as a local Postgres DB. Then use AI mcp + mxcli to help troubleshoot the bottlenecks. Additionally I normally run jconsole locally to see where the memory spikes are happening.
https://community.mendix.com/link/spaces/community/exchanges/740
https://docs.mendix.com/developerportal/deploy/monitoring-mendix-using-jmx/
If you are seeing page load issues, it might be possible it is a bloated client state and not the microflows.