Skip to content
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

Make Set-AzureWebAppStorageContentFromStorage faster (INFRA-139) #20

Closed
Piedone opened this issue Feb 2, 2023 · 3 comments · Fixed by #28
Closed

Make Set-AzureWebAppStorageContentFromStorage faster (INFRA-139) #20

Piedone opened this issue Feb 2, 2023 · 3 comments · Fixed by #28
Assignees
Labels
enhancement New feature or request

Comments

@Piedone
Copy link
Member

Piedone commented Feb 2, 2023

Set-AzureWebAppStorageContentFromStorage copies blobs one by one. If you have a lot of files (like Orchard Media files), then this will take a lot of time, even if the total size is not that big (like taking >30 minutes to copy 13k blobs with 2,6 GiB total size).

Let's make this faster somehow. E.g., can containers be copied at once too? Or at least not each blob individually? Or can this loop be parallelized? While I don't know, I doubt any of the resources, including network, are maxed out on the CI machine during such a copy, so parallelization may help.

There might be some throttling as well, since the copy process might get stuck on files that are otherwise trivial.

Jira issue

@Piedone Piedone added the enhancement New feature or request label Feb 2, 2023
@github-actions github-actions bot changed the title Make Set-AzureWebAppStorageContentFromStorage faster Make Set-AzureWebAppStorageContentFromStorage faster (INFRA-139) Feb 2, 2023
@BenedekFarkas
Copy link
Member

Yeah, we've got some outdated stuff going on here. At the time of implementing this, there was no better way to apply the necessary filtering for blobs, but even without filtering AFAIR copy needed to be executed one by one, but that was a long time ago. My best guess (without any research done on this) is that az copy might be suitable for upgrading this process.

@Piedone
Copy link
Member Author

Piedone commented Jul 13, 2023

AzCopy can be used as well (or is it the same as az copy?). It doesn't download the files, but the copy operation still seems to happen one by one. This can be configured to be concurrent, however.

@BenedekFarkas
Copy link
Member

I think az copy is an umbrella command, so AFAIR it can be other types of resources too, but I don't know if it's using the same concept/library as AzCopy under hood when processing blobs. AzCopy is specific to Azure Blob Storage.

As much as I could find out, copy happens one-by-one (and definitely has to, when we need to do any filtering), but yes, concurrency would help anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants