首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GCS GoogleCredential

GCS GoogleCredential
EN

Server Fault用户
提问于 2019-11-11 13:41:40
回答 1查看 83关注 0票数 0

我的应用程序需要从GCS桶下载文件,我可以使用StorageClient DownloadObjects方法从GCS下载文件。但是表演真的很慢。对于50 by的文件大小,它需要3-4分钟,这一时间因hugh时间差而变化。请查找示例代码,并让我知道如何提高下载性能?

类程序{公共静态空主(string[] args) {

代码语言:javascript
复制
    GoogleCredentials gcpCreds = new GoogleCredentials()
    {

        private_key = "-----BEGIN PRIVATE KEY-----PrivateKey-----END PRIVATE KEY-----\n",
        client_email = "client_email",
        type = "service_account"
    };
    var credentials = GoogleCredential.FromJson(JsonConvert.SerializeObject(gcpCreds));

    // var credentials= GoogleCredential.GetApplicationDefault();
    var storage = StorageClient.CreateAsync(credentials).Result;


    string localPath, directoryPath, localFileName, objectName, bucketName;
    directoryPath = "localpathstring";
    objectName = "SourceFileName";
    localFileName = objectName;
    localPath = directoryPath + "\\" + localFileName;
   bucketName="bucketName";

   FileStream fs = new FileStream(localPath, FileMode.OpenOrCreate);

    //Code to download with progress bar
    DownloadObjectOptions option = new DownloadObjectOptions();

    using (fs)
    {
        var progress = new Progress<IDownloadProgress>(
             p => Console.WriteLine($"bytes: {p.BytesDownloaded}, status: {p.Status},"));
        storage.DownloadObject(bucketName, objectName, fs, option, progress);

        }
 }
EN

回答 1

Server Fault用户

发布于 2019-11-12 16:44:13

您正在经历的延迟问题可能来自应用程序、网络(您自己的或Google的)或云存储服务。要确定根本原因,以下是一些步骤:

  1. 地铁运行到云存储端点2次,以确定网络上是否/在何处观察到延迟。命令示例:mtr -4 -n -r -c 10 www.googleapis.com
  2. 直接用gsutil下载文件以确定问题是否在应用程序端。
  3. 使用“perfdiag”命令运行性能诊断,以确定云存储方面的任何问题。命令示例:gsutil perfdiag -o output.json gs://your-bucket

如果结果显示了健康的指标,那么尝试异步下载文件是值得的。最后,这里是一些优化云存储性能的技巧

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/991364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档