Closed
Description
Hey there,
I'm trying to understand two similar configs when doing the s3 download performance tuning:
My current code looks like:
ClientConfiguration conf = new ClientConfiguration()
.withMaxConnections(THREAD_POOL_SIZE).withSocketTimeout(3600_000);
AmazonS3 clientS3 = AmazonS3ClientBuilder
.standard()
.withClientConfiguration(conf)
.build();
TransferManager transferManager = TransferManagerBuilder
.standard()
.withS3Client(clientS3)
.withMultipartCopyPartSize(500_000_000L)
.withExecutorFactory(() -> Executors.newFixedThreadPool(THREAD_POOL_SIZE))
.withMultipartCopyThreshold(1_000_000_000L)
.build();
I have a question on what's the relation between transfer manager executor factory and s3client max connections? If I set them to different values, will each thread open more TCP connections overall?
Thanks for your time and let me know if my question makes sense.