通过多线程读取 S3 对象时,连接池已满警告

时间:2021-02-04 08:06:25

标签: amazon-s3 boto3

我正在使用 boto3 读取 s3 对象

s3_client = boto3.client('s3', region_name='us-east-1')
obj = s3_client.get_object(Bucket=S3_BUCKET, Key=key)

我通过 50-100 个线程运行它以访问不同的对象并收到警告:

<块引用>

urllib3.connectionpool - 警告 - 连接池已满,丢弃连接:s3.amazonaws.com

如何增加连接池大小?

是否有更好的方法来使用多个线程访问不同的 S3 对象?

1 个答案:

答案 0 :(得分:1)

添加 max_pool_connections(默认 10)解决了它。

client_config = botocore.config.Config(
    max_pool_connections=50
)
s3_client = boto3.client('s3', region_name='us-east-1', config=client_config)