-
Notifications
You must be signed in to change notification settings - Fork 754
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Digital Assets: Azure folders are slow to open #2698
Conversation
…etch bigger batches from Azure
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great change, appreciate the extra work to extract the constants as well!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good job! I just added a few minor suggestions.
...Platform/Providers/FolderProviders/AzureFolderProvider/App_LocalResources/Settings.ascx.resx
Outdated
Show resolved
Hide resolved
DNN Platform/Providers/FolderProviders/AzureFolderProvider/Settings.ascx.cs
Outdated
Show resolved
Hide resolved
DNN Platform/Providers/FolderProviders/AzureFolderProvider/Settings.ascx.cs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good for me
601d41f
fixes #2697
After some investigation we found it loads Azure content using very small batches of data in a loop. On every Azure folder click, system synchronizes content and makes huge amount of iterations to upload all files. See:
Dnn.Platform/DNN Platform/Providers/FolderProviders/AzureFolderProvider/AzureFolderProvider.cs
Line 159 in 9968677
To improve performance, I added
SyncBatchSize
setting which is now available on UI. It is possible to configure size of batches to load from Azure in one call. Customer can make it configured to their needs, smaller values means we will need more round trips to fetch all files, large numbers will potentially lead to timeouts in case of big repositories, but at same time will improve performance for a small repos.Below you'll find few changes:
SyncBatchSise
setting is added to UI. It gets saved in database and used to load certain number of files from Azure during one call.