Azure / azure-sdk-for-net

This repository is for active development of the Azure SDK for .NET. For consumers of the SDK we recommend visiting our public developer docs at https://learn.microsoft.com/dotnet/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-net.
MIT License
5.46k stars 4.8k forks source link

.Net FileShare Client StartCopyAsync Perfromance #41263

Open BC89 opened 9 months ago

BC89 commented 9 months ago

Library name and version

Azure.Storage.Files.Shares 12.18+

Describe the bug

Using latest fileshare library preview (19) but same with lts. Performance of .startcopy is God awful on large files.

Using .net 8 and copying from blob to file share, same storage container with large files enabled. Linux container app aervice deployed in same useast region, largest consumption app 2/4 available.

Interestingly the file size looks good when observed in storage explorer but status == pending on async property callback for over a minute when about 500+ MG or so, and degrades exponentially as the size increases.

For a comparison, it takes longer for .startcopy to complete then it does for me to upload from my browser.

Have large files enabled, tried internet and MS routing but no impact.

Expected behavior

startcopyasync should be quick when moving within the same storage container, region etc...

Actual behavior

.startcopy can take minutes to complete when files are large 1GB+ and as file size increases performance degrades exponentially.

Reproduction Steps

Using C# drop a large 1GB and up into blob storage and use the following:

_ = await targetBlob.StartCopyAsync(new Uri(uri)); var targetBlobProperties = await targetBlob.GetPropertiesAsync(); while (targetBlobProperties.Value.CopyStatus) { await Task.Delay(TimeSpan.FromSeconds(5)); targetBlobProperties = await targetBlob.GetPropertiesAsync(); }

Environment

.Net Core 8

github-actions[bot] commented 9 months ago

Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc @xgithubtriage.

BC89 commented 9 months ago

Nothing?

BC89 commented 7 months ago

Thanks for the feedback. You all are the best!!!