Высокая нагрузка на запросы S3 head_bucket во время начальной миграции

Мы перенесли наш форум на хранение загрузок и резервных копий с помощью Backblaze B2. Мы выполнили миграцию на S3 и пересборку (которую я оставил на ночь для завершения). Всё работает.

B2 предоставляет бесплатно 2500 транзакций класса C в день, к которым относится head_bucket (s3_head_bucket). Мы достигли этого лимита: 2300 запросов — это head_bucket, и всего 5300 запросов put_object (s3_put_object).

Мне бы хотелось лучше понять, как Discourse использует head_bucket для хранения в S3. Согласно документации, он используется для проверки существования бакета. Но 2300 запросов кажутся слишком высокими для постоянной проверки существования бакетов.

Буду признателен за любую информацию об использовании head_bucket в Discourse. Спасибо.


Надеюсь, этот пост также послужит справочным материалом для тех, кто ищет эту информацию. Если кто-то захочет использовать бесплатный тариф B2, он упрётся в ежедневный лимит в 2500 транзакций класса C и не сможет выполнять новые запросы до тех пор, пока не сбросится ежедневный лимит или не будет добавлен способ оплаты.

С момента публикации оригинального поста у нас было 5500 запросов put_object и 2900 запросов head_bucket. Всё ещё кажется чересчур высоким без видимой причины.