Worse Perfomance on Mendix Environments

Hey everybody,   we are currently struggling with the performance of an app in the online environments. We tested it with a fresh dump and couldn't reproduce the performance, everything seems ok.   Some numbers:   Loading an overview page: locally [4-5 sec] | online [23-25 seconds] Using a filter for the page: locally [1 sec] | online [17 seconds]   Just for clarification, the overview and the filters are custom made, but it shouldn't matter, because the data dump is the same and there seems no connection for a performance 5-17 times as bad.   We also checked the capacity of the online environment (Memory and CPU usage), but everything is fine and there is no bottleneck visible.   Anybody ideas what could lead to such a behavior?   FYI: we are using Mendix 10.6.10, unfortunately, the dropdown for the studio version doesn't offer that option.
1 answers

Hi Denis,

There are numerous reasons which could cause your app to slow down and it takes a lot of effort to find the root cause and sometimes even when you have found the root cause it's hard to solve. Having said that, I'm always intriged by solving performance problems.


The differences between localhost and a cloud environment:

  • 0 ping time between client and server, so doing loads of microflow datasources sequencially will decrease performance, mostly in the cloud 
  • 0 ping time between server and database, so doing loads of database retrieves sequencially will decrease performance, mostly in the cloud 
  • CPU power, executing complex queries on your database is quite easy locally, as your computer is very powerful.
  • (minor) The number of users is probably higher in cloud environments (possible explanation for differences between acceptance and production environments)

So I would advise to first find out which calls are being made from client to server, I mostly use the Developer Tools (F12) > Network to check this.

And secondly inspect which database calls are being made. An strong indication is the warning log "Query executed in 10 seconds and 193 milliseconds". Do you have that? In that case: try to lower the number of access rules, as these are making the queries most complex.

Good luck!