All the AX clients are accessed through RDS.
We received a ticket a few weeks ago that a certain application had bad performance. We were looking in to it but could not reproduce the problem. After some testing around, it seemed that the problem only occurs on 2 specific remote desktops, and not on the others.
Then we started tracing the application on both servers with the Tracing cockpit and I noticed that on the slow-server, the executeQuery calls a lot more of the same methods as the fast-server, in particular, SysQueryRun::next and QueryBuildDataSource::findRange
So I decided to setup a very simple testform with the same basic logic as the application with issues, and this seems reproducible, albeit a lot less calls than the actual application.
The logic used on the form is very simple. In the active of the header-formdatasource, we call the detail-formdatasource executeQuery and apply the filters to the detail-table.
On the fast-server:
On the slow-server:
What could be the reason this happens? It certainly has an impact.
I tried the following things:
Googled a lot but no relevant search results, but could be the case that the search keywords are very generic
Restart AOS, remote desktop servers
CIL-compile
Recreated the form to isolate the issue and it does remain
Check that all servers and clients have the same Kernel builds by going to Help>About
.
Alternatively, you can check the user log (\Menus\SystemAdministration\Inquiries\Users\User log), and on the general tab it shows the different build #'s for the logins. I typically personalize that form and move it to the grid. That way I can just scroll up/down and look for client mismatches.