Especificaciones de rendimiento
Los archivos de S3 escalan automáticamente el rendimiento y las IOPS para adaptarse a la carga de trabajo sin necesidad de aprovisionar o administrar la capacidad. En esta página, se describen las características de rendimiento de los archivos de S3.
Resumen de rendimiento
| Rendimiento de lectura agregado por sistema de archivos | Hasta terabytes por segundo |
| Rendimiento de escritura agregado por sistema de archivos | De 1 a 5 GiB/s |
| Número máximo de IOPS de lectura por bucket de S3 con archivos de S3 | Sin límite (adjunte varios sistemas de archivos al mismo bucket) |
| Número máximo de IOPS de escritura por bucket de S3 con archivos de S3 | Sin límite (adjunte varios sistemas de archivos al mismo bucket) |
| Máximo de IOPS de lectura por sistema de archivos | 250.000 |
| Máximo de IOPS de escritura por sistema de archivos | 50 000 |
| Rendimiento máximo de lectura por cliente | 3 GiB/s |
Cómo los archivos de S3 ofrecen rendimiento
Los archivos de S3 almacenan datos de dos niveles de almacenamiento y dirigen automáticamente cada operación al nivel que mejor se adapte a ella.
Almacenamiento de alto rendimiento: capa de almacenamiento de baja latencia del sistema de archivos en la que residen los datos y metadatos de los archivos que se utilizan activamente. Los archivos de S3 administran automáticamente este almacenamiento, se copian los datos en él cuando se accede a los archivos y se eliminan los datos que no se han leído dentro de un plazo de caducidad configurable. Paga una tarifa de almacenamiento por residencia de datos en el almacenamiento de alto rendimiento.
Directo desde S3: los archivos de S3 transmiten las lecturas de archivos directamente desde el bucket de S3 en dos casos: cuando los datos del archivo no están almacenados en el almacenamiento de alto rendimiento del sistema de archivos y para lecturas grandes de más de 1 MiB, incluso cuando los datos también residen en el almacenamiento de alto rendimiento del sistema de archivos. El bucket S3 está optimizado para ofrecer un alto rendimiento, mientras que la capa de almacenamiento de alto rendimiento del sistema de archivos está optimizada para un acceso de baja latencia. Este enfoque por niveles para la transmisión de datos directamente desde el bucket de S3 proporciona alto rendimiento para lecturas secuenciales, lo que lo hace ideal para el análisis, el procesamiento multimedia y otras cargas de trabajo de transmisión. Los archivos de S3 importan de forma asíncrona datos de archivos pequeños (menos de 128 KiB de forma predeterminada) al almacenamiento de alto rendimiento del sistema de archivos para un acceso de baja latencia en las lecturas posteriores.
Dado que los archivos de S3 aplican automáticamente este modelo de dos niveles, no tiene que elegir entre latencia y rendimiento. Las cargas de trabajo de archivos pequeños obtienen el rendimiento del sistema de archivos. Las cargas de trabajo de archivos grandes obtienen un rendimiento de S3. Las cargas de trabajo mixtas ofrecen ambas características.
Rendimiento de lectura
El rendimiento de lectura aumenta con el número de instancias informáticas conectadas y el grado de paralelismo dentro de cada instancia. El rendimiento máximo de lectura por cliente es de 3 GiB/s. Los archivos de S3 admiten hasta terabytes por segundo de rendimiento de lectura agregado y hasta 250 000 IOPS de lectura por sistema de archivos.
Rendimiento de escritura
Las escrituras se destinan al almacenamiento de alto rendimiento y son duraderas de forma inmediata. En función de la región, los archivos de S3 admiten entre 1 y 5 GiB/s de rendimiento de escritura agregado y hasta 50 000 IOPS de escritura por sistema de archivos. El rendimiento de escritura se amplía elásticamente en función de la actividad de la carga de trabajo.
Al modificar un archivo en el sistema de archivos, los archivos de S3 esperan aproximadamente 60 segundos y, durante ese tiempo, agrega los cambios sucesivos en el archivo antes de copiarlos en el bucket de S3. Esto significa que las escrituras rápidas y sucesivas en el mismo archivo se capturan en una sola solicitud PUT de S3, en lugar de generar una nueva versión del objeto para cada cambio individual, lo que reduce los costos de almacenamiento y las solicitudes de S3. Si continúa modificando el archivo después de que los archivos de S3 hayan copiado los cambios en el bucket de S3, copiará los cambios posteriores según sea necesario.
Latencia del primer acceso
La primera vez que accede a un directorio, los archivos de S3 importan los metadatos de todos los archivos de ese directorio y, según la configuración de importación, los datos de los archivos pequeños. Por lo tanto, el acceso inicial lleva más tiempo que las operaciones posteriores. Una vez importados, todos los listados de directorios posteriores y el acceso a los archivos regresan con una latencia baja.
Rendimiento de sincronización
Los archivos de S3 sincronizan los cambios entre el sistema de archivos y el bucket de S3 en segundo plano.
Importación de cambios desde S3: cuando otra aplicación agrega o modifica un objeto en el bucket de S3, los archivos de S3 reflejan el cambio en el sistema de archivos normalmente en cuestión de segundos. Los archivos de S3 procesan hasta 2400 cambios de objetos por segundo por sistema de archivos, con un rendimiento de datos de importación de hasta 700 megabytes por segundo.
Exportación de cambios a S3: cuando escribe un archivo a través del sistema de archivos, los archivos de S3 agrupan los cambios por lotes durante aproximadamente 60 segundos para consolidar las escrituras rápidas y sucesivas en una única versión de objeto de S3, lo que reduce los costos de la versión de almacenamiento y solicitud de S3. Tras el plazo de procesamiento por lotes, los archivos de S3 copian el archivo en el bucket de S3. Los archivos de S3 exportan hasta 800 archivos por segundo por sistema de archivos, con un rendimiento de datos de exportación de hasta 2700 megabytes por segundo.
| Métricas operativas | Valor | Unidad |
|---|---|---|
| Importación de IOPS de bucket de S3 | 2400 | objetos por segundo por sistema de archivos |
| Rendimiento de importación del bucket de S3 | 700 | megabytes por segundo |
| Exportación a IOPS de un bucket de S3 | 800 | archivos por segundo por sistema de archivos |
| Rendimiento de exportación a un bucket de S3 | 2700 | megabytes por segundo |
Amazon S3 utiliza una estructura de almacenamiento plana en la que los objetos se identifican por los nombres de clave. Aunque los archivos de S3 permiten organizar los datos en directorios, S3 no tiene un concepto nativo de directorios. Lo que aparece como un directorio en el sistema de archivos es un prefijo común que comparten las claves de los objetos del bucket de S3. Además, los objetos de S3 son inmutables y no admiten cambios de nombre atómicos. Como resultado, cuando cambia el nombre de un archivo o lo mueve, los archivos de S3 deben escribir los datos en un objeto nuevo con la clave actualizada y eliminar el original. Al cambiar el nombre o mover un directorio, los archivos de S3 deben repetir este proceso para cada objeto que comparta ese prefijo. Por lo tanto, al cambiar el nombre o mover un directorio que contiene decenas de millones de archivos, los costos de las solicitudes de S3 y el tiempo de sincronización aumentan considerablemente. El cambio de nombre de un directorio de 100 000 archivos tarda unos minutos en reflejarse completamente en el bucket de S3, aunque el cambio de nombre es instantáneo en el sistema de archivos. Para obtener más información, consulte Descripción del impacto de las operaciones de cambio de nombre y traslado.
Si la carga de trabajo genera cambios más rápidos que la velocidad de sincronización, los archivos de S3 ponen en cola los cambios y los procesa en orden. Puede supervisar el recuento de exportaciones pendientes mediante la métrica de PendingExports CloudWatch. Para obtener más información, consulte Supervisión de archivos de S3 con Amazon CloudWatch.
Monitorear el desempeño
Puede supervisar el rendimiento del sistema de archivos con Amazon CloudWatch. Los archivos de S3 publican métricas que incluyen DataReadBytes, DataWriteBytes, MetadataReadBytes y MetadataWriteBytes, que puede utilizar para realizar un seguimiento del rendimiento y las IOPS a lo largo del tiempo. Para obtener más información, consulte Supervisión de archivos de S3 con Amazon CloudWatch.