2017-03-13 11 views
0

Amazon EC2(Windows/t2.Large)サーバーは〜200KファイルをS3にアップロードします(バケットはサーバーと同じ地域にあります)。 〜100ファイル数時間後には、明らかな理由がなく、1分に30ファイルまでアップロードが遅くなります。数時間プロセスを一時停止すると、再び高速化されます。 Amazonはこのトラフィックに制限を設けていますか?スピード損失の他の理由は?あなたはおそらく、あなたのインスタンスのCPUのクレジットが不足しているAmazon EC2 - > S3トラフィック制限

 string S3_KEY = S3TargetFileName; 

     S3_KEY = S3FolderName + "/" + S3_KEY; 

     S3_KEY = S3_KEY.ToLower(); 
     PutObjectRequest request = new PutObjectRequest() 
     { 
      CannedACL = S3CannedACL.PublicRead, 
      BucketName = BucketName, 
      Key = S3_KEY, 
      FilePath = LocalFullPath 
     }; 
     var client = GetS3Client(); 
     client.PutObject(request); 
+0

これが一度しかない、まれにしか必要ない場合は、[AWS Command-Line Interface(CLI)](http://aws.amazon.com/cli/)を使用することをお勧めします。これはファイルを並列にコピーできる 'aws s3 sync'コマンドを持っています([config documentation](https://github.com/aws/aws-cli/blob/develop/awscli/topics/s3-config.rst参照) )。 –

答えて

2

は、ここに私のアップロードのコードです。 T2インスタンスはBurstable Performance Instancesです。あなたのCPUクレジットが使い尽くされると、あなたは減速を経験するでしょう。

EC2コンソールからCPUクレジット残高を確認できます(インスタンスを選択してから[監視]タブに移動します)。おそらくゼロに近いはずです。

遅くしてはならない持続的な作業負荷の場合、バースト可能ではない別のインスタンスのインスタンス(M4ファミリなど)に切り替える必要があります。

+1

可能性があります。また、ネットワーク帯域幅はすべてのEC2インスタンスで制限され、提供される帯域幅の量はインスタンスの種類に基づいていることにも言及する価値があります。より大きいインスタンスは、より多くのネットワーク帯域幅を受け取ります。しかし、これは徐々に減速を説明しません。 –

+0

私はそう思った。インスタンスの種類ごとの帯域幅制限はどこで確認できますか? – user3104076

関連する問題