Mi servidor Amazon EC2 (Windows/t2.Large) carga ~200 000 archivos en S3 (el depósito está en la misma región que el servidor). Después de unas pocas horas de ~100 archivos por minuto, la carga se ralentiza a ~30 archivos por minuto sin motivo aparente. Pausar el proceso durante unas horas hará que vuelva a ir rápido. ¿Amazon pone un límite a este tráfico? ¿Alguna otra razón para la pérdida de velocidad?
Aquí está mi código de carga:
string S3_KEY = S3TargetFileName; S3_KEY = S3FolderName + "/" + S3_KEY; S3_KEY = S3_KEY.ToLower(); PutObjectRequest request = new PutObjectRequest() { CannedACL = S3CannedACL.PublicRead, BucketName = BucketName, Key = S3_KEY, FilePath = LocalFullPath }; var client = GetS3Client(); client.PutObject(request);Probablemente se haya quedado sin créditos de CPU para su instancia. Las instancias T2 son instancias de rendimiento ampliable . Una vez que se agoten los créditos de su CPU, experimentará una desaceleración.
Puede ver su saldo de crédito de CPU desde la consola de EC2 (seleccione su instancia y luego vaya a la pestaña Supervisión). Probablemente debería estar cerca de cero ahora.
Para las cargas de trabajo sostenidas que no deben ralentizarse, debe cambiar a una familia diferente de instancias que no sean ampliables (por ejemplo, la familia M4).