Я частично загружаю около 200000 файлов (каждый размером ~ 1 МБ максимум) в корзину S3 из экземпляра EC2 (оба находятся в Западной Европе).
Из мониторинга EC2 с помощью CloudWatch (глядя на NetworkOut
метрика), похоже, со временем происходит спад загрузки:
Я загружаю файлы несколькими траншами, и переход кажется постоянным, обычно через четыре или пять часов (но иногда это происходит быстрее).
Файлы загружаются с помощью скрипта Python, который:
Я пробовал два способа загрузки файлов .gzip ...
boto3.client("s3").upload_file(file.gz, bucket, file.gz)
... Но я видел одно и то же падение с каждым методом.
Что может быть причиной этого? Или какую информацию мне нужно собрать для отладки?
редактировать
Вот график за тот же период, показывающий BurstBalance
метрика (экземпляр EC2 - t2.small):
Вот CPUCreditBalance
:
Мое лучшее предположение - это твоя Кредиты ввода-вывода EBS. Следите за этим с помощью BurstBalance Метрика CloudWatch. Пожалуйста, проверьте, опубликуйте график, и если нет, то я еще подумаю.
Обновить - этот третий график, который я просил вас добавить, показывает, что у вас закончились кредиты ЦП. Троттлинг вашего процессора. Вы можете принять более низкую производительность или временно перейти на более подходящий экземпляр.
Это выглядит довольно интенсивно. Вы могли бы перейти на t2 large и получить в четыре раза больше ресурсов процессора, или я бы, вероятно, на время перешел на универсальный экземпляр m4. Изменить тип экземпляра очень просто - остановите экземпляр, щелкните правой кнопкой мыши, измените тип экземпляра и запустите его снова.