Slowness when creating or editing entries with source Devolutions Hub Businesses
We have configured our Remote Desktop Manager with Devolutions Hub Businesses data source and when we edit or create an entry the process is very slow. Before we had SQL and the process was instantaneous. Also the deletion is very slow.
We have a lot of movement of entries and it is very tedious to do it this way.
Hello,
Thank you for reaching out to Devolutions Support.
Could you please confirm the version of RDM you are currently using?
Additionally, does this issue occur only in specific vaults?
Lastly, could you let us know the number of entries in your largest vault? This information can be found in the bottom-left corner when the vault is selected.
We look forward to your response.
Best regards,
Jacob Lafrenière
Version: 2025.1.13.3
It happens in all the Vaults, although it is true that in the biggest one it takes some seconds more.
The biggest vault has 2027 entries.
Hello,
Thank you for the follow-up.
Could you please set up the profiler so we can identify the source of the slowness?
You can follow the steps outlined here:
https://docs.devolutions.net/rdm/commands/help/profiler/?tab=macos
Once the profiler is running, reproduce the issue and then copy the entire profiler output and paste it here.
Looking forward to your reply.
Best regards,
Jacob Lafrenière
This is the log when creating a test entry:
Main thread (UI)
----------------------------------------
ActionManager.RefreshConnections...
RefreshConnections...
LoadConnections UI - [Devolutions Hub Business : Devolutions Hub Business] - [_RDM_] - ReadOnly - 64-bit...
HasSecurityChanged : 92 ms
Reload: False - HasSecurityChanged: False - HasChanged: False
Load connection overrides...
Reload : 15 ms
Load connection overrides : 15 ms
LoadConnections [Devolutions Hub Business : Devolutions Hub Business - Global Vault] - [Global] - ReadOnly - 64-bit : 73 ms
FavoriteManager.LoadFolders : 83 ms
LoadConnections UI - [Devolutions Hub Business : Devolutions Hub Business] - [_RDM_] - ReadOnly - 64-bit : 363 ms
LoadConnectionImages : 170 ms
RefreshConnections : 535 ms
Connection States: Refresh : 588 ms
TreeView.LoadConnectionList...
BeginUpdate...
LoadConnectionInTreeNode : 96 ms
PreCreateGroups : 11 ms - Run count : 1
BeginUpdate : 141 ms
TreeView.LoadConnectionList : 141 ms
PrivateConnectionManager.Refresh...
LoadConnections [Devolutions Hub Business : Devolutions Hub Business - User Vault] - [User : User] - ReadOnly - 64-bit : 779 ms
PrivateConnectionManager.Refresh : 779 ms
PrivateConnectionManager.Refresh - LoadConnectionImages...
LoadConnectionImages : 124 ms
PrivateConnectionManager.Refresh - LoadConnectionImages : 124 ms
ActionManager.RefreshConnections : 2682 ms
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
ConnectionHostViewController.RegisterDescriptors : 107 ms
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving password for connection TEST
Hub Data Source - Saving connection TEST
RefreshConnections...
LoadConnections UI - [Devolutions Hub Business : Devolutions Hub Business] - [_RDM_] - ReadOnly - 64-bit...
HasSecurityChanged : 76 ms
Reload: False - HasSecurityChanged: False - HasChanged: True
LoadConnectionsFromDataSource...
LoadDataSourceSettings : 459 ms
Hub Data Source - Resolving sensitives for connection Mis credenciales personales
Hub Data Source - Resolving password for connection Mis credenciales personales
Hub Data Source - Resolving sensitives for connection Mis credenciales personales
Hub Data Source - Resolving password for connection Mis credenciales personales
Hub Data Source - Resolving sensitives for connection Cuenta privilegiada
Hub Data Source - Resolving password for connection Cuenta privilegiada
Hub Data Source - Resolving sensitives for connection Cuenta privilegiada
Hub Data Source - Resolving password for connection Cuenta privilegiada
Hub Data Source - Resolving sensitives for connection Mi clave SSH personal
Hub Data Source - Resolving password for connection Mi clave SSH personal
Hub Data Source - Resolving sensitives for connection Mi clave SSH personal
Hub Data Source - Resolving password for connection Mi clave SSH personal
GetConnections...
HB -> GetConnections : 1940 ms
Engine.Clear - ClearRoot : 0 ms
GetConnections : 2001 ms
DoMergeConnections - ReadOnly...
Loop...
Initialize : 2 ms
Migrate Connection : 1 ms
Loop : 21 ms
DoMergeConnections - ReadOnly : 23 ms
LoadConnectionsFromDataSource : 2956 ms
Load connection overrides...
Reload : 6 ms
Load connection overrides : 6 ms
LoadConnections [Devolutions Hub Business : Devolutions Hub Business - Global Vault] - [Global] - ReadOnly - 64-bit : 1606 ms
FavoriteManager.LoadFolders : 966 ms
LoadConnections UI - [Devolutions Hub Business : Devolutions Hub Business] - [_RDM_] - ReadOnly - 64-bit : 6653 ms
LoadConnectionImages : 158 ms
RefreshConnections : 6813 ms
Connection States: Refresh : 1635 ms
TreeView.LoadConnectionList...
BeginUpdate...
LoadConnectionInTreeNode : 100 ms
PreCreateGroups : 11 ms - Run count : 1
BeginUpdate : 150 ms
TreeView.LoadConnectionList : 150 ms
PrivateConnectionManager.Refresh...
LoadConnections [Devolutions Hub Business : Devolutions Hub Business - User Vault] - [User : Juan Pedro Cegarra] - ReadOnly - 64-bit : 969 ms
PrivateConnectionManager.Refresh : 969 ms
Thread : 8
----------------------------------------
8 - OfflineManager.Save - Context - _RDM_...
8 - DataSourceSettings : 1 ms
8 - SaveSecurityInfo...
8 - 36a0c311-6f10-4588-97cf-213cd3eb56e1
8 - SaveSecurityInfo : 1 ms
8 - Repository : 3 ms
8 - Expiration : 1 ms
8 - OfflineManager.Save - Context - _RDM_ : 7 ms
Thread : 12
----------------------------------------
12 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 502 ms
12 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 310 ms
Thread : 13
----------------------------------------
13 - Sync to Offline - Devolutions Hub Business - User Vault - Juan Pedro Cegarra : 1 ms - Count : 1
13 - Sync to Offline - Devolutions Hub Business - User Vault - Juan Pedro Cegarra : 0 ms - Count : 293
13 - Sync to Offline - Devolutions Hub Business - User Vault - Juan Pedro Cegarra - [End batch] : 30 ms
13 - Sync to Offline - Devolutions Hub Business - _RDM_ : 1 ms - Count : 1
13 - Sync to Offline - Devolutions Hub Business - _RDM_ - [End batch] : 181 ms
13 - Sync to Offline - Devolutions Hub Business - _RDM_ : 0 ms - Count : 1
13 - Sync to Offline - Devolutions Hub Business - _RDM_ : 0 ms - Count : 2235
13 - Sync to Offline - Devolutions Hub Business - _RDM_ - [End batch] : 144 ms
Thread : 16
----------------------------------------
16 - OfflineManager.Save - Juan Pedro Cegarra...
16 - Expiration : 2 ms
16 - OfflineManager.Save - Juan Pedro Cegarra : 23 ms
Thread : 20
----------------------------------------
20 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 503 ms
20 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 505 ms
Thread : 22
----------------------------------------
22 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 375 ms
Thread : 26
----------------------------------------
26 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 591 ms
26 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 347 ms
Thread : 39
----------------------------------------
39 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 569 ms
Thread : 40
----------------------------------------
40 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 444 ms
Thread : 41
----------------------------------------
41 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 536 ms
Thread : 42
----------------------------------------
42 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 595 ms
42 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 429 ms
Thread : 44
----------------------------------------
44 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 591 ms
Thread : 46
----------------------------------------
46 - OfflineManager.Save - Context - _RDM_...
46 - SaveSecurityInfo...
46 - 36a0c311-6f10-4588-97cf-213cd3eb56e1
46 - SaveSecurityInfo : 5 ms
46 - OfflineManager.Save - Context - _RDM_ : 6 ms
Thread : 51
----------------------------------------
51 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 517 ms
Thread : 56
----------------------------------------
56 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 447 ms
Thread : 58
----------------------------------------
58 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 434 ms
Thread : 59
----------------------------------------
59 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 383 ms
Thread : 60
----------------------------------------
60 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 504 ms
Hello,
Thank you for the follow-up.
We’ve opened a case on our end to investigate this issue further.
I’ll get back to you as soon as I have more information to share.
Best regards,
Jacob Lafrenière
Hello, is there any news on this issue?
Do you need more logs from us?
The slowness occurs both modifying or creating entries in RDM and Workspace, if that helps.
Hello,
Thank you for your patience, and I apologize for the delay in getting back to you.
We reviewed the logs you shared with our Hub development team. They confirmed that a 10 to 15-second delay when working with a vault containing 3,000 entries is expected behavior. As the number of entries in a single vault increases, actions such as refreshing, editing, or saving entries may take longer.
To ensure optimal performance, we recommend limiting each vault to no more than 2,000 entries. Given the availability of the new multi-vault search feature, splitting your entries across multiple vaults should have minimal impact on usability.
Please let me know if you'd like more details or assistance with this.
Best regards,
Jacob Lafrenière
We don't have 3000, we have 2000.
Anyway, I have divided it into 2 of 1000 and it is still a lot slower than it was with SQL.
Hello,
Thank you for your follow-up.
Could you please share an updated profiler with the new number of entries per vault?
Additionally, could you confirm under which scenario you are experiencing the RDM slowdown?
Lastly, you can verify the exact number of entries by navigating to Help > System diagnostic > Data Source tab.
I look forward to your response.
Best regards,
Jacob Lafrenière
9e3b199c-c6bf-4291-9c9b-65d6d3737f64.png
Now in RDM I have 2 vault with these entries:

The slowness, although less than before splitting the vault, still occurs when creating or modifying an entry. It is still much slower than when using SQLserver.
Main thread (UI)
----------------------------------------
ActionManager.RefreshConnections...
RefreshConnections...
LoadConnections UI - [Devolutions Hub Business : Devolutions Hub Business] - [_RDM_] - ReadOnly - 64-bit...
HasSecurityChanged : 68 ms
Reload: False - HasSecurityChanged: False - HasChanged: False
Load connection overrides...
Reload : 7 ms
Load connection overrides : 7 ms
LoadConnections [Devolutions Hub Business : Devolutions Hub Business - Global Vault] - [Global] - ReadOnly - 64-bit : 61 ms
FavoriteManager.LoadFolders : 60 ms
LoadConnections UI - [Devolutions Hub Business : Devolutions Hub Business] - [_RDM_] - ReadOnly - 64-bit : 287 ms
LoadConnectionImages : 162 ms
RefreshConnections : 451 ms
Connection States: Refresh : 362 ms
TreeView.LoadConnectionList...
BeginUpdate...
LoadConnectionInTreeNode : 68 ms
PreCreateGroups : 9 ms - Run count : 1
BeginUpdate : 89 ms
TreeView.LoadConnectionList : 89 ms
PrivateConnectionManager.Refresh...
LoadConnections [Devolutions Hub Business : Devolutions Hub Business - User Vault] - [User : User] - ReadOnly - 64-bit : 151 ms
PrivateConnectionManager.Refresh : 151 ms
ActionManager.RefreshConnections : 1276 ms
Hub Data Source - Resolving sensitive from string
ConnectionHostViewController.RegisterDescriptors : 106 ms
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving sensitive from string
Hub Data Source - Resolving password for connection TEST
Hub Data Source - Saving connection TEST
RefreshConnections...
LoadConnections UI - [Devolutions Hub Business : Devolutions Hub Business] - [_RDM_] - ReadOnly - 64-bit...
HasSecurityChanged : 74 ms
Reload: False - HasSecurityChanged: False - HasChanged: True
LoadConnectionsFromDataSource...
LoadDataSourceSettings : 414 ms
Hub Data Source - Resolving sensitives for connection Mis credenciales personales
Hub Data Source - Resolving password for connection Mis credenciales personales
Hub Data Source - Resolving sensitives for connection Mis credenciales personales
Hub Data Source - Resolving password for connection Mis credenciales personales
Hub Data Source - Resolving sensitives for connection Cuenta privilegiada
Hub Data Source - Resolving password for connection Cuenta privilegiada
Hub Data Source - Resolving sensitives for connection Cuenta privilegiada
Hub Data Source - Resolving password for connection Cuenta privilegiada
Hub Data Source - Resolving sensitives for connection Mi clave SSH personal
Hub Data Source - Resolving password for connection Mi clave SSH personal
Hub Data Source - Resolving sensitives for connection Mi clave SSH personal
Hub Data Source - Resolving password for connection Mi clave SSH personal
GetConnections...
HB -> GetConnections : 1067 ms
Engine.Clear - ClearRoot : 0 ms
GetConnections : 1125 ms
DoMergeConnections - ReadOnly...
Loop...
Initialize : 1 ms
Migrate Connection : 1 ms
Loop : 3 ms
DoMergeConnections - ReadOnly : 4 ms
LoadConnectionsFromDataSource : 2020 ms
Load connection overrides...
Reload : 5 ms
Load connection overrides : 5 ms
LoadConnections [Devolutions Hub Business : Devolutions Hub Business - Global Vault] - [Global] - ReadOnly - 64-bit : 68 ms
FavoriteManager.LoadFolders : 53 ms
LoadConnections UI - [Devolutions Hub Business : Devolutions Hub Business] - [_RDM_] - ReadOnly - 64-bit : 2312 ms
LoadConnectionImages : 129 ms
RefreshConnections : 2442 ms
Connection States: Refresh : 759 ms
TreeView.LoadConnectionList...
BeginUpdate...
LoadConnectionInTreeNode : 64 ms
PreCreateGroups : 10 ms - Run count : 1
BeginUpdate : 104 ms
TreeView.LoadConnectionList : 104 ms
PrivateConnectionManager.Refresh...
LoadConnections [Devolutions Hub Business : Devolutions Hub Business - User Vault] - [User : User] - ReadOnly - 64-bit : 1301 ms
PrivateConnectionManager.Refresh : 1301 ms
Thread : 3
----------------------------------------
3 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 303 ms
Thread : 14
----------------------------------------
14 - Sync to Offline - Devolutions Hub Business - _RDM_ : 1 ms - Count : 1
14 - Sync to Offline - Devolutions Hub Business - _RDM_ - [End batch] : 129 ms
14 - Sync to Offline - Devolutions Hub Business - _RDM_ : 0 ms - Count : 1
14 - Sync to Offline - Devolutions Hub Business - _RDM_ : 0 ms - Count : 1501
14 - Sync to Offline - Devolutions Hub Business - _RDM_ - [End batch] : 100 ms
Thread : 16
----------------------------------------
16 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 444 ms
Thread : 20
----------------------------------------
20 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 345 ms
Thread : 22
----------------------------------------
22 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 379 ms
Thread : 24
----------------------------------------
24 - OfflineManager.Save - Context - _RDM_...
24 - SaveSecurityInfo...
24 - 36a0c311-6f10-4588-97cf-213cd3eb56e1
24 - SaveSecurityInfo : 0 ms
24 - OfflineManager.Save - Context - _RDM_ : 2 ms
24 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 391 ms
Thread : 25
----------------------------------------
25 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 419 ms
25 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 318 ms
Thread : 29
----------------------------------------
29 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 467 ms
Thread : 30
----------------------------------------
30 - OfflineManager.Save - User : 1 ms
30 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 373 ms
Thread : 38
----------------------------------------
38 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 397 ms
38 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 487 ms
Thread : 39
----------------------------------------
39 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 345 ms
Thread : 40
----------------------------------------
40 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 322 ms
40 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 487 ms
Thread : 41
----------------------------------------
41 - OfflineManager.Save - User...
41 - Expiration : 2 ms
41 - OfflineManager.Save - User : 4 ms
41 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 374 ms
Thread : 43
----------------------------------------
43 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 318 ms
Thread : 45
----------------------------------------
45 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 424 ms
45 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 426 ms
Thread : 47
----------------------------------------
47 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 382 ms
47 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 404 ms
Thread : 48
----------------------------------------
48 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 375 ms
48 - RootDashboardOverviewManager.LoadRootDashboardOverViewAsync - Full Load : 420 ms
Google Chrome 2025-04-29 08.12.26.png
Remote Desktop Manager 2025-04-29 08.09.29.png
Hello,
Thank you for your follow-up.
I spoke with the Hub development team leader, and here’s what he shared:
SQL:
Hub:
Given this architecture, it is expected to experience slightly more latency with a Hub data source compared to SQL.
As a positive note, an internal case was opened this morning to improve refresh times and reduce delays as much as possible.
I will follow up with you as soon as an improvement is deployed in future updates.
Please let me know if you would like more details.
Best regards,
Jacob Lafrenière
I'm glad to hear that work is being done to improve the integration time with Devolutions Hub.
We decided to use Hub as both a password protector and a data source because we thought that, since it's also your product, the integration with RDM would be very good.
Thank you very much for your support. If you need more testing, we'd be happy to do it.