【问题标题】:Amazon S3 PutObject is very slowAmazon S3 PutObject 非常慢
【发布时间】:2011-10-12 02:41:44
【问题描述】:

我正在使用以下代码将文件放入 S3 存储。我发现它非常慢。秒表显示 18 秒以上。有什么建议或其他经验吗?

        // upload the file to S3
        AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKey, secretAccessKey);

        PutObjectRequest request = new PutObjectRequest();

        FileStream fs = new FileStream(sourceFileName, FileMode.Open);

        request.WithInputStream(fs);
        request.WithBucketName(bucketName);
        request.WithKey(keyName);
        Stopwatch stp1 = new Stopwatch();
        stp1.Start();
        client.PutObject(request);
        stp1.Stop();
        fs.Close();

此代码是 C#。我正在使用亚马逊 .net sdk。

文件大小只有56K,我的上传带宽是1.87Mbps。

【问题讨论】:

  • 您上传的内容有多大? 18 秒对于 1TB 来说是非常快的。
  • 文件有多大,你的互联网上传带宽是多少?
  • 文件是56K,我的带宽是1.5mbps上传

标签: c# .net amazon-s3


【解决方案1】:

这听起来与我最近遇到的一个问题非常相似,这是由 Windows 上“Internet 选项”中的自动代理检测设置引起的。

Amazon SDK 使用WebRequest 发出HTTP 请求,默认情况下WebRequest 遵循计算机“Internet 选项”设置来检测本地代理。幸运的是 WebRequest 有一个静态属性 WebRequest.DefaultWebProxy,当设置为 null 时,会删除自动代理检测。

您只需在开始使用AmazonS3之前将其设置为null

WebRequest.DefaultWebProxy = null; // here

AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKey, secretAccessKey);

[...]

值得注意的是,这个静态属性只需要在每个应用程序域中设置一次,而不是每次您要创建 AmazonS3 对象时。

替代方法:

如果你不介意重新配置机器,就是去:

Windows Control Panel > Internet Options > Connections > Lan Settings

并取消选中“自动检测设置”。如果使用这种方法,则根本不需要设置DefaultWebProxy 属性。

更多信息:

当我遇到这个问题时,我在 SO 上提出了以下问题:

How to turn off the automatic proxy detection in the `AmazonS3` object?

如果您有兴趣,它比我的回答更详细。

【讨论】:

  • 也有同样的问题!感谢您的回答 - 这让我的程序缩短了 15 秒......
  • @iamserious 很高兴它有帮助! :)
【解决方案2】:

您需要更改 AmazonS3Config 上的 BufferSize

var config = new AmazonS3Config
{
    BufferSize = 65536 // 64KB Use a larger buffer size, normally 8K default.
};

【讨论】:

  • 我尝试了 http、multipart,但没有什么能像调整 BufferSize 那样对上传速度产生重大影响。 BufferSize 将我的上传速度提高了 5 倍。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-11
  • 2017-08-04
  • 2021-04-27
  • 2012-05-27
  • 2012-03-04
  • 1970-01-01
相关资源
最近更新 更多