相关疑难解决方法(0)

Azure 文件存储 SMB 列出目录中的文件速度很慢

我们有一个应用程序,可以通过 Azure 文件列出文件夹中的文件。当我们使用C#方法时:

Directory.GetFiles(@"\\account.file.core.windows.net\xyz")
Run Code Online (Sandbox Code Playgroud)

当有 2000 个文件时,大约需要一分钟。

如果我们使用 CloudStorageAccount 执行相同操作:

  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;
  }
Run Code Online (Sandbox Code Playgroud)

它会返回所有文件,但大约需要 10 秒。为什么性能会有如此大的差异?

c# smb azure azure-storage azure-files

5
推荐指数
1
解决办法
2465
查看次数

标签 统计

azure ×1

azure-files ×1

azure-storage ×1

c# ×1

smb ×1