Очень медленный list_objects_v2 в minioPython

Программы на Python
Ответить
Anonymous
 Очень медленный list_objects_v2 в minio

Сообщение Anonymous »


Я использую последнюю версию Minio в Docker на двух серверах. Один находится в моей локальной сети, другой на удаленном сервере. Конфигурация по умолчанию, том расположен на жестком диске, а не SSD.

Ведро содержит около 400 тыс. объектов, около 70 ГБ.

У меня есть следующий код (с последней версией boto3):

paginator = s3_client.get_paginator('list_objects_v2') page_iterator = paginator.paginate(Bucket=bucket_name) для страницы в page_iterator: ключи = [obj['Key'] для объекта в page.get('Contents', [])] ... И каждая итерация в большинстве случаев (но не в 100%) выполняется очень медленно на обоих серверах: итерация более 400 тыс. объектов может занять несколько часов. Иногда это работает нормально.

С другой стороны, PUT/HEAD работают очень быстро, поэтому я не думаю, что это проблема с диском (особенно на двух разных серверах с разным оборудованием). Загрузка ЦП/ОЗУ низкая. Других параллельных запросов к minio совершенно нет (это внутренние сервера и они пока не используются).

Как ускорить процесс? Может быть, я делаю что-то не так и есть лучший способ собрать все ключи в корзину?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»