は私が今までのスレッドの数十s3.putObjectで画像をアップロードする一方Amazon S3には接続プールがありますか?
public static AmazonS3Client s3 = null;
...
BasicAWSCredentials c = new BasicAWSCredentials("absadgwslkjlsdjgflwa");
s3 = new AmazonS3Client(c);
1つのインスタンスのみS3が作成されたコードを使用します()。ダンプ情報では、他のスレッドが待機している間に、あるスレッドが唯一のインスタンスs3をロックすることがわかりました。
BasicAWSCredentials c = new BasicAWSCredentials("absadgwslkjlsdjgflwa");
for(int i = 0; i < 10; i++)
amazonS3[i] = new AmazonS3Client(c);
毎回システムがランダムS3インスタンスを取得してから画像をアップロードします:
は、だから、私は以下のコードを使用している場合、それは速くなるかもしれないと思います。
private static AmazonS3 getS3(){
int i = (int)(Math.random() * 10);
return amazonS3[i];
}
しかし、システムが遅くなっているようです。なぜそれが起こったのですか? 唯一のインスタンスs3が既に接続プールを使用していますか?私は混乱しています。
urヘルプありがとうございます。あなたが正しいです。 –
私たちの中には、あまり知られていない人がいます... Mark_H **はS3クライアントの配列を作るべきではないと言っていますか?あなたは彼が単一のS3クライアントを使用し、それを別のスレッドに渡すべきだと提案していますか? – mmcrae
ここでsetMaxConnectionsメソッドを参照していますが、私は推測していますか? – rogerdpack