Wir haben eine App, die Dateien in einem Ordner über Azure-Dateien auflistet. Wenn wir die C# -Methode verwenden:Azure-Datei Speicher SMB langsam zum Auflisten von Dateien im Verzeichnis
Directory.GetFiles(@"\\account.file.core.windows.net\xyz")
Es dauert etwa eine Minute, wenn 2000 Dateien vorhanden sind.
Wenn wir CloudStorageAccount verwenden das gleiche zu tun:
CloudFileClient fileClient = storageAccount.CreateCloudFileClient();
CloudFileDirectory directory = fileClient.GetShareReference("account").GetRootDirectoryReference().GetDirectoryReference("abc");
Int64 totalLength = 0;
foreach (IListFileItem fileAndDirectory in directory.ListFilesAndDirectories())
{
CloudFile file = (CloudFile)fileAndDirectory;
if (file == null) //must be directory if null
continue;
totalLength += file.Properties.Length;
}
Es gibt alle Dateien, aber dauert etwa 10 Sekunden. Warum gibt es einen so großen Leistungsunterschied?