¿Hay alguna forma de escribir un archivo pequeño en S3 como transmisión en vivo?

Parece que estás tropezando con las protecciones integradas para S3 (documentos citados a continuación). También he enumerado algunas preguntas similares a continuación; algunos de estos aconsejan volver a armar usando SQS para igualar y distribuir la carga en S3.

Además de introducir más piezas móviles, puede reutilizar su S3Clienty TransferManager . Muévalos hacia arriba fuera de su objeto ejecutable y páselos a su constructor. TransferManageren sí usa multihilo de acuerdo con el javadoc.

Cuando es posible, TransferManager intenta usar múltiples subprocesos para cargar múltiples partes de una sola carga a la vez. Cuando se trata de grandes tamaños de contenido y gran ancho de banda, esto puede tener un aumento significativo en el rendimiento.

También puede aumentar el número máximo de conexiones simultáneas que utiliza S3Client.

Tal vez:

s3Client.getClientConfiguration().setMaxConnections(75) o incluso más alto.

DEFAULT_MAX_CONNECTIONSse establece en 50 .

Por último, podría intentar cargar en diferentes prefijos / carpetas debajo del depósito, como se indica a continuación para permitir el escalado de altas tasas de solicitud.

La actual tasa de solicitud de AWS y las pautas de rendimiento

Amazon S3 escala automáticamente a altas tasas de solicitud. Por ejemplo, su aplicación puede lograr al menos 3,500 PUT / POST / DELETE y 5,500 solicitudes GET por segundo por prefijo en un bucket. No hay límites para la cantidad de prefijos en un depósito. Es simple aumentar su rendimiento de lectura o escritura exponencialmente. Por ejemplo, si crea 10 prefijos en un bucket de Amazon S3 para paralelizar las lecturas, podría escalar su rendimiento de lectura a 55,000 solicitudes de lectura por segundo.

Las mejores prácticas actuales de error de AWS S3

Ajuste la aplicación para errores repetidos de SlowDown

Como con cualquier sistema distribuido, S3 tiene mecanismos de protección que detectan el consumo excesivo de recursos intencional o no y reaccionan en consecuencia. Los errores de SlowDown pueden ocurrir cuando una alta tasa de solicitud activa uno de estos mecanismos. Reducir la tasa de solicitud disminuirá o eliminará los errores de este tipo. En términos generales, la mayoría de los usuarios no experimentarán estos errores regularmente; sin embargo, si desea obtener más información o está experimentando errores lentos o inesperados de SlowDown, publique en nuestro foro de desarrolladores de Amazon S3 https://forums.aws.amazon.com/ o regístrese en AWS Premium Support https: // aws. amazon.com/premiumsupport/ .

Preguntas similares:

S3 SlowDown: reduzca la excepción de la tasa de solicitud

Límite de solicitud de Amazon Web Services S3

Foros de AWS: Maximización de la reutilización de conexiones para llamadas getObjectMetadata () de S3

Respuesta 1

Estoy tratando de construir una aplicación web java usando struts2 y tiles en Google App Engine. A continuación se muestra mi archivo tiles.xml <! DOCTYPE tiles-definition PUBLIC "- // Apache Software Foundation // ...

Tengo 2 rectángulos con coordenadas Rectángulo1 (x = 100, y = 100, ancho = 200, altura = 50) y Rectángulo2 (x = 100, y = 200, ancho = 200, altura = 50). Cómo establecer una transformación afín para ellos ...

Estoy haciendo la aplicación. en Netbeans en Java. En mi clase tengo 3 instancias de JTree. Quiero verificar en qué nodo del árbol se hace clic o se selecciona en el evento de árbol del mouse. ¿Cómo puedo hacer eso?

Tengo maven 3.5.4 y java 1.8 ejecutándose en mi máquina win 7. Es posible que deba realizar algunas modificaciones en el archivo settings.xml para maven, sin embargo, no puedo ubicarlo. Mi carpeta de instalación de Maven es como ...