s3文件上传速度太慢C#

时间:2017-08-23 12:06:09

标签: c# .net amazon-s3

我使用transferUtility类使用.NET中的输入流将文件上传到S3。问题是,上传4MB的文件需要大约一分钟。我尝试了transferUtility.Upload和S3Client.PutObject,上传时间似乎没有改变。代码如下:

WebRequest.DefaultWebProxy = null;


this.S3Client = new Amazon.S3.AmazonS3Client(accessKeyId, secretAccessKey, endPoint);

this.transferUtility = new TransferUtility(this.S3Client);

Amazon.S3.Transfer.TransferUtilityUploadRequest transferRequest = new TransferUtilityUploadRequest();

transferRequest.BucketName = s3Bucket;

transferRequest.CannedACL = Amazon.S3.S3CannedACL.PublicRead;


transferRequest.InputStream = (Stream)fileStream;

transferRequest.Key = newFileName;

transferRequest.Headers.Expires = new DateTime(2020, 1, 1);

this.transferUtility.Upload(transferRequest);

任何帮助都将不胜感激。

谢谢,

2 个答案:

答案 0 :(得分:0)

我发现这种情况正在发生,因为将文件流上传到应用服务器需要很长时间。

答案 1 :(得分:0)

这很可能也是由于C#SDK MD5sum'它上传的每个块(CPU性能下降,因此在计算MD5Sum时减慢了上传速度)。

请参阅https://github.com/aws/aws-sdk-net/issues/832#issuecomment-383756520了解解决方法。