boto3.s3.transfer.config 中的 "max_io_queue" 设置有什么作用?
What does "max_io_queue" setting in boto3.s3.transfer.config do?
在TransferConfig中,增加或减少max_io_queue与boto3.transfer.download_file()有什么关系??
我试图查看源代码。它似乎与 MultipartDownloader 中的队列大小有关。如果 max_concurrency 是固定的,那么只要 max_io_queue > max_currency,我就看不出这个 max_io_queue 会有什么影响。如有不妥请指正
class TransferConfig(object):
def __init__(self,
multipart_threshold=8 * MB,
max_concurrency=10,
multipart_chunksize=8 * MB,
num_download_attempts=5,
max_io_queue=100):
队列同步文件写入。给定的线程可以将任意数量的写入推送到队列中而不会阻塞,直到队列达到其最大大小。此时,对 put
的调用将阻塞线程,直到剩余 space 为止。如果我们对队列没有大小限制,那么具有快速连接和慢速驱动器的人可能会在以后的写入中耗尽所有内存。
在TransferConfig中,增加或减少max_io_queue与boto3.transfer.download_file()有什么关系??
我试图查看源代码。它似乎与 MultipartDownloader 中的队列大小有关。如果 max_concurrency 是固定的,那么只要 max_io_queue > max_currency,我就看不出这个 max_io_queue 会有什么影响。如有不妥请指正
class TransferConfig(object):
def __init__(self,
multipart_threshold=8 * MB,
max_concurrency=10,
multipart_chunksize=8 * MB,
num_download_attempts=5,
max_io_queue=100):
队列同步文件写入。给定的线程可以将任意数量的写入推送到队列中而不会阻塞,直到队列达到其最大大小。此时,对 put
的调用将阻塞线程,直到剩余 space 为止。如果我们对队列没有大小限制,那么具有快速连接和慢速驱动器的人可能会在以后的写入中耗尽所有内存。