Hi.
The performance of RDM is terrible. Opening the "Properties" of an object takes almost 10 seconds, regardless of the database (SQL Lite or XML).
What can I do with it?
i5-5300U CPU @ 2.30GHz, 16GB RAM and an SSD.
184 Objects, DB cleaned.
On the movie a new DB (xml) with one object.
https://youtu.be/SwpOFjrZsME
Version 2022.3.30.0 64bit
Any help appreciated.
Greets
Tadeusz
Hello,
Could you try to open it a second time? We are aware that the initial opening of the properties takes a long time to open but after that it should be fast. Could you verify if it the case?
By the way, this is something we want to improve in RDM 2023.1.
Regards
David Hervieux
Hello,
thanks for the quick reply.
Unfortunately, nope. No difference.
https://youtu.be/iQa92Z2tyME
Greets
Tadeusz
Hello,
Thank you for the video. This is not what I have on my machine and of course it's not the expected behavior. I will ask our support team to verify with you. They will give you the details to open the profiler.
Regards
David Hervieux
Please try the following:
FrmConnection.LoadConnectionInControls...)
Best regards,
Main thread (UI)
----------------------------------------
RefreshConnections...
LoadConnections UI - [Microsoft SQL Server : [1] - v14.6.3] - Disabled - 64-bit...
Engine.Clear - DisposeInternalList - ClearTemplates - ClearRoot : 0 ms
Reload: False - HasSecurityChanged: True - HasChanged: True
Engine.Clear - DisposeInternalList - ClearTemplates - ClearRoot : 0 ms
LoadConnectionsFromDataSource...
LoadDataSourceSettingsFromDataSource...
GetDataSourceSettings : 1 ms
LoadDataSourceSettingsFromDataSource : 1 ms
GetConnections...
Database.GetConnections...
Reading connections from database : 5 ms
DecryptData : 0 ms - Count : 31
DeserializeData : 0 ms - Count : 31
Database.GetConnections : 7 ms
GetConnections : 7 ms
DoSetConnections - *** Caching is disabled ***...
Engine.Clear - DisposeInternalList - ClearTemplates - ClearRoot : 0 ms
DoSetConnections - *** Caching is disabled *** : 0 ms
LoadConnectionsFromDataSource : 71 ms
Load connection overrides...
Has changes : 2 ms
Load connection overrides : 2 ms
FavoriteManager.LoadFolders : 4 ms
LoadConnections UI - [Microsoft SQL Server : [1] - v14.6.3] - Disabled - 64-bit : 79 ms
RefreshConnections : 82 ms
Connection States: Refresh...
GetAllConnectionStates : 2 ms
Connection States: Refresh : 2 ms
TreeView.LoadConnectionList...
BeginUpdate...
PreCreateGroups : 0 ms - Run count : 1
BeginUpdate : 1 ms
TreeView.LoadConnectionList : 2 ms
Load Expand States...
Expanded: 0 - Nodes : 22
Nodes...
Expand : 0 ms - Run count : 0
Collapse : 0 ms - Run count : 0
Nodes : 0 ms
Load Expand States : 0 ms
FrmConnection.LoadConnectionInControls...
FrmConnection.freConnectionVPNPanel : 28 ms
FrmConnection.CreateConnectionSettingsFrame : 115 ms
FrmConnection.Panels.LoadConnectionInControls : 43 ms
FrmConnection.LoadConnectionInControls : 202 ms
SelectionChanged - Default...
LoadConnectionDetails : 2 ms
Finally : 5 ms
SelectionChanged - Default : 8 ms
Stéfane Lavergne
Re.1
Main thread (UI) ---------------------------------------- 16:18:11.940901 FrmConnection.LoadConnectionInControls... 16:18:11.940901 FrmConnection.freConnectionVPNPanel : 157 ms 16:18:14.209432 FrmConnection.CreateConnectionSettingsFrame : 2268 ms 16:18:14.469457 FrmConnection.Panels.LoadConnectionInControls : 258 ms 16:18:14.469457 FrmConnection.LoadConnectionInControls : 2746 ms Thread : 5 ---------------------------------------- 5 - 16:17:16.112587 Connection States: Refresh : 5 ms
Probably should I mark something else on the checkbox-list?
Re. 2
Yes, it has changed a lot. Although I still see the white "window build" (then black), between "click" and the build now takes about 2-3 seconds.
Back to defaults - is still "fast" (2-3 sec).
Much better. :)
Thanks.
Tadeusz
Perfect we will investigate this line is not normal.FrmConnection.CreateConnectionSettingsFrame : 2268 ms
My trace this line only took 115msFrmConnection.CreateConnectionSettingsFrame : 115 ms
Yes, it has changed a lot. Although I still see the white "window build" (then black), between "click" and the build now takes about 2-3 seconds.
Back to defaults - is still "fast" (2-3 sec).
Wow, you're the third client that tells us toggling those values on/off improved the performance. In all honesty we have no clue why (yet)? When set to the non-default value, we call a method into our third-party UI control library. The odd thing is once they've been called once, things are faster even if they are not called on subsequent restarts of RDM (set to default).
Best regards,
Stéfane Lavergne
Are you sill see slowness on this line:FrmConnection.CreateConnectionSettingsFrame : 2268 ms
If you edit a different entry type, say RDP instead of SSH, are the profiler traces about the same?
Best regards,
Stéfane Lavergne
Oh, sorry for the delay... I thought the thread is already closed, but I was only logged off...
Hi.
RDP-Connection, first try:
Main thread (UI) ---------------------------------------- 10:35:59.212033 FrmConnection.DoInitializeComponent : 1911 ms 10:35:59.430025 FrmConnection.LoadConnectionInControls... 10:35:59.430025 FrmConnection.LoadGroups : 2 ms 10:35:59.499045 FrmConnection.freConnectionVPNPanel : 66 ms 10:35:59.501024 FrmConnection.freConnectionSecurityGeneralPanel : 1 ms 10:35:59.865366 FrmConnection.CreateConnectionSettingsFrame : 364 ms 10:36:00.111152 FrmConnection.Panels.LoadConnectionInControls : 228 ms 10:36:00.112143 FrmConnection.LoadConnectionInControls : 803 ms
Second try:
10:37:51.241615 FrmConnection.LoadConnectionInControls... 10:37:51.241615 FrmConnection.freConnectionVPNPanel : 37 ms 10:37:51.524544 FrmConnection.CreateConnectionSettingsFrame : 282 ms 10:37:51.635348 FrmConnection.Panels.LoadConnectionInControls : 109 ms 10:37:51.635348 FrmConnection.LoadConnectionInControls : 467 ms
Third:
Main thread (UI)
----------------------------------------
10:38:28.116623 FrmConnection.LoadConnectionInControls... 10:38:28.116623 FrmConnection.freConnectionVPNPanel : 48 ms 10:38:28.481844 FrmConnection.CreateConnectionSettingsFrame : 365 ms 10:38:28.582420 FrmConnection.Panels.LoadConnectionInControls : 99 ms 10:38:28.582420 FrmConnection.LoadConnectionInControls : 562 ms
And then SSH:
Main thread (UI) ---------------------------------------- 10:38:57.676461 FrmConnection.LoadConnectionInControls... 10:38:57.676461 FrmConnection.freConnectionVPNPanel : 74 ms 10:38:58.202756 FrmConnection.CreateConnectionSettingsFrame : 525 ms 10:38:58.326809 FrmConnection.Panels.LoadConnectionInControls : 122 ms 10:38:58.326809 FrmConnection.LoadConnectionInControls : 781 ms 10:39:09.447995 SelectionChanged - Default... 10:39:09.447995 LoadConnectionDetails... 10:39:09.447995 LoadConnectionInControls:FreConnectionDashBoard : 1 ms 10:39:09.447995 LoadConnectionDetails : 10 ms 10:39:09.463003 Finally : 14 ms 10:39:09.463003 SelectionChanged - Default : 25 ms 10:39:13.232436 FrmConnection.DoInitializeComponent : 1973 ms 10:39:13.398753 FrmConnection.LoadConnectionInControls... 10:39:13.398753 FrmConnection.freConnectionVPNPanel : 53 ms 10:39:18.493253 FrmConnection.CreateConnectionSettingsFrame : 5094 ms 10:39:18.665747 FrmConnection.Panels.LoadConnectionInControls : 168 ms 10:39:18.665747 FrmConnection.LoadConnectionInControls : 5356 ms
Greets.
While I continue the investigation, can you please try run the OptimizeRDM.bat batch file, located in the install directory? This will call ngen (see link) on RemoteDesktopManager.exe and pre-compile all referenced assemblies for faster startup times.
It's a long shot but it's worth giving it a try. FYI, the installer (.msi/.exe) calls the batch file after the installation.
Stéfane Lavergne
Hello.
There is not .bat but ps1. It's took 00:00:08.8976050.
RDM start a bit faster. SSH-Session Properties (first, second and thirtd opening):
Main thread (UI) ---------------------------------------- 13:51:46.456200 FrmConnection.DoInitializeComponent : 1423 ms 13:51:46.699430 FrmConnection.LoadConnectionInControls... 13:51:46.699430 FrmConnection.freConnectionVPNPanel : 51 ms 13:51:51.131589 FrmConnection.CreateConnectionSettingsFrame : 4432 ms 13:51:51.289694 FrmConnection.Panels.LoadConnectionInControls : 148 ms 13:51:51.290713 FrmConnection.LoadConnectionInControls : 4743 ms 13:52:06.727793 FrmConnection.LoadConnectionInControls... 13:52:06.727793 FrmConnection.freConnectionVPNPanel : 33 ms 13:52:07.500333 FrmConnection.CreateConnectionSettingsFrame : 772 ms 13:52:07.590229 FrmConnection.Panels.LoadConnectionInControls : 89 ms 13:52:07.590229 FrmConnection.LoadConnectionInControls : 942 ms 13:52:15.149809 FrmConnection.LoadConnectionInControls... 13:52:15.149809 FrmConnection.freConnectionVPNPanel : 37 ms 13:52:15.944596 FrmConnection.CreateConnectionSettingsFrame : 794 ms 13:52:16.042915 FrmConnection.Panels.LoadConnectionInControls : 97 ms 13:52:16.042915 FrmConnection.LoadConnectionInControls : 971 ms
Greets.
(Shouldn't I get an email when there is a response here?)
There is not .bat but ps1. It's took 00:00:08.8976050.
My bad, I forgot when had changed to the file from .bat to .ps1
RDM start a bit faster. SSH-Session Properties (first, second and third opening):
I'm still somewhat concerned with the following:13:51:51.131589 FrmConnection.CreateConnectionSettingsFrame : 4432 ms13:52:07.500333 FrmConnection.CreateConnectionSettingsFrame : 772 ms13:52:15.944596 FrmConnection.CreateConnectionSettingsFrame : 794 ms
We do some control caching so it's normal that it's faster after the first call. What I don't understand is why the first call takes 4.4 seconds. I tweaked the profiling in the next version v2022.3.36 if we build one and in the next release v2023.1) this should shed more light on the issue but won't fix it unfortunately.
(Shouldn't I get an email when there is a response here?)
Yes, you should. I've asked the team to verify if your email address is getting blocked. Please also check your spam folder.
Best regards,
Stéfane Lavergne
Okay, so I'm waiting for new Version of RDM and then we're going on with the profiling.
It's not a big problem. After first setup, properties are rare used.
And another problem, probably unsolvable, it is autofill for (sh*tty) Web-GUIs (i.e. esxi-login-screen). But it's another Thread.
Thanks.
Tadeusz
PS. Actually I have the Mails from Devolutions (in Mailbox), but none on my Android-Phone. WTF? Nothing in SPAM. Simply filtered.
Hi. Next Thing. Duplicate.
Main thread (UI) ---------------------------------------- 12:38:59.922624 FrmConnection.DoInitializeComponent : 3964 ms 12:39:00.443626 FrmConnection.LoadConnectionInControls... 12:39:00.443626 FrmConnection.freConnectionVPNPanel : 299 ms 12:39:02.913631 FrmConnection.CreateConnectionSettingsFrame : 2469 ms 12:39:03.194629 FrmConnection.Panels.LoadConnectionInControls : 273 ms 12:39:03.194629 FrmConnection.LoadConnectionInControls : 3131 ms Opened Properties, IP and Name changed. "OK" pressed. 12:39:16.707290 Database.SaveConnection : 29 ms 12:39:16.791286 RefreshConnections... 12:39:16.791286 LoadConnections UI - [SQLite : Lokale Datenquelle] - Disabled - 64-bit... 12:39:16.791286 Engine.Clear - DisposeInternalList - ClearTemplates - ClearRoot : 0 ms 12:39:16.791286 Reload: False - HasSecurityChanged: True - HasChanged: True 12:39:16.791286 Engine.Clear - DisposeInternalList - ClearTemplates - ClearRoot : 0 ms 12:39:16.803293 LoadConnectionsFromDataSource... 12:39:16.803293 LoadDataSourceSettingsFromDataSource... 12:39:16.803293 GetDataSourceSettings : 7 ms 12:39:16.803293 LoadDataSourceSettingsFromDataSource : 7 ms 12:39:16.813286 GetConnections... 12:39:16.813286 Database.GetConnections... 12:39:16.813286 Reading connections from database : 7 ms 12:39:16.815287 DecryptData : 0 ms - Count : 188 12:39:16.829288 DeserializeData : 13 ms - Count : 188 12:39:16.834297 Database.GetConnections : 30 ms 12:39:16.834297 GetConnections : 30 ms 12:39:16.834297 DoSetConnections - *** Caching is disabled ***... 12:39:16.834297 Engine.Clear - DisposeInternalList - ClearTemplates - ClearRoot : 0 ms 12:39:16.835296 DoSetConnections - *** Caching is disabled *** : 1 ms 12:39:16.836293 LoadConnectionsFromDataSource : 44 ms 12:39:16.837294 FavoriteManager.LoadFolders : 1 ms 12:39:16.838298 LoadConnections UI - [SQLite : Lokale Datenquelle] - Disabled - 64-bit : 47 ms 12:39:16.839290 RefreshConnections : 47 ms 12:39:16.864285 TreeView.LoadConnectionList... 12:39:16.864285 BeginUpdate... 12:39:16.864285 LoadConnectionInTreeNode : 3 ms 12:39:16.864285 PreCreateGroups : 0 ms - Run count : 1 12:39:16.864285 BeginUpdate : 25 ms 12:39:16.864285 TreeView.LoadConnectionList : 25 ms 12:39:16.873285 Load Expand States... 12:39:16.873285 Expanded: 4 - Nodes : 188 12:39:16.874286 Nodes... 12:39:16.874286 Expand : 0 ms - Run count : 1 12:39:16.874286 Collapse : 0 ms - Run count : 11 12:39:16.874286 Nodes : 0 ms 12:39:16.874286 Load Expand States : 0 ms 12:39:16.947287 TreeView.LoadConnectionList... 12:39:16.947287 BeginUpdate... 12:39:16.947287 LoadConnectionInTreeNode : 1 ms 12:39:16.947287 PreCreateGroups : 0 ms - Run count : 1 12:39:16.947287 BeginUpdate : 18 ms 12:39:16.947287 TreeView.LoadConnectionList : 18 ms 12:39:16.955290 Load Expand States... 12:39:16.955290 Expanded: 4 - Nodes : 188 12:39:16.956288 Nodes... 12:39:16.956288 Expand : 0 ms - Run count : 1 12:39:16.956288 Collapse : 0 ms - Run count : 11 12:39:16.956288 Nodes : 0 ms 12:39:16.956288 Load Expand States : 0 ms What happen here? 15 Seconds! 12:39:31.870658 SelectionChanged - Default... 12:39:31.870658 LoadConnectionDetails : 8 ms 12:39:31.884660 Finally : 13 ms 12:39:31.884660 SelectionChanged - Default : 22 ms Done. New Entry visible.
Greets.