How do you troubleshoot a slow application

0
How do you troubleshoot a slow application
asked
3 answers
2

When troubleshooting a slow Mendix application, I first determine whether the bottleneck is in the UI, microflow, database, integration, or infrastructure layer. I use browser developer tools, Mendix Performance Statistics, logs, and monitoring dashboards to measure the issue. Then I analyze slow microflows, inefficient XPath queries, calculated attributes, commits inside loops, large data retrievals, and integration calls. Finally, I optimize using batching, pagination, indexing, queue processing, and Mendix best practices, validating improvements through performance monitoring and benchmarking before releasing the fix.


answered
0

Hi,


Please take a look at this:

https://docs.mendix.com/refguide/detect-and-resolve-performance-issues/


Chapter 4 explains how you can identify a slow processes/microflows within your app.


Other chapters explain how to resolve potential performance issues.


Some common best practices are:

  • No database retrieves in loops (if you really need to, try to do a retrieve before the loop and a find/filter within the loop)
  • No commit/delete in loops
  • Within database retrieves make sure that the top xpath limits the most data. Lets say we have an entity called "Person" with 2 attributes: Last name and age. If you do a database retrieve on the Person entity with an xpath: Last name = 'de Boer' and age = 50 make sure the Last Name is the first check within the xpath since this limits the data the most (there are far less persons called de Boer then there are persons with an age of 50)
  • If you are commiting large datasets, try to use batches
  • Avoid unnecessary nested loops (and think of ways you can reduce them)
answered
0

Hello Mujaeit,


When troubleshooting a slow Mendix application, I first identify which layer is causing the bottleneck—UI, microflow, database, integration, or infrastructure.


I start by using browser developer tools, Mendix Performance Statistics, application logs, and monitoring dashboards to measure response times and identify the root cause.


Then I analyze common performance issues such as slow microflows, inefficient XPath queries, calculated attributes, commits inside loops, large data retrievals, and slow integration calls.


Based on the findings, I optimize the application using techniques such as pagination, batching, proper database indexing, queue processing, reducing unnecessary database operations, and following Mendix performance best practices.


Finally, I validate the improvement through performance monitoring and benchmarking to make sure the fix actually improves response time without affecting functionality before releasing it to production.


Regards,

Mohamed Rasik.N

answered