tôi từng sử dụng mãAmazon S3 có hồ bơi kết nối không?
public static AmazonS3Client s3 = null;
...
BasicAWSCredentials c = new BasicAWSCredentials("absadgwslkjlsdjgflwa");
s3 = new AmazonS3Client(c);
Chỉ một ví dụ s3 được tạo ra trong khi hàng chục chủ đề sẽ tải lên hình ảnh bằng cách s3.putObject(). Trong các thông tin dump, tôi có thể thấy rằng một sợi sẽ khóa ví dụ duy nhất s3 trong khi những người khác đang chờ đợi.
Vì vậy, tôi nghĩ rằng có thể nó sẽ nhanh hơn nếu tôi sử dụng mã bên dưới:
BasicAWSCredentials c = new BasicAWSCredentials("absadgwslkjlsdjgflwa");
for(int i = 0; i < 10; i++)
amazonS3[i] = new AmazonS3Client(c);
Mỗi lần hệ thống sẽ nhận được một trường hợp s3 ngẫu nhiên và sau đó tải lên các hình ảnh.
private static AmazonS3 getS3(){
int i = (int)(Math.random() * 10);
return amazonS3[i];
}
Nhưng có vẻ như hệ thống chậm lại. Tại sao điều đó xảy ra? Có lẽ cá thể duy nhất s3 đã sử dụng hồ bơi kết nối? Tôi bị bối rối.
Cảm ơn sự giúp đỡ của bạn. bạn đúng rồi. –
cho chúng ta ít biết chữ ... bạn có nói rằng Mark_H ** không nên ** tạo một mảng khách hàng S3 không? Bạn có gợi ý anh ta nên sử dụng một máy khách S3 đơn lẻ và chuyển nó tới các luồng khác nhau không? – mmcrae
Bạn đề cập đến phương pháp setMaxConnections ở đây, tôi đoán? – rogerdpack