Esta página proporciona datos de referencia para los volúmenes strmvol en dos dimensiones: la eficiencia en la construcción del índice de metadatos y el rendimiento de lectura de datos. Utilice esta información para evaluar si strmvol cumple con los requisitos de rendimiento de su carga de trabajo y para elegir la configuración adecuada de resourceLimit.
A continuación se muestran valores teóricos obtenidos en un entorno de pruebas controlado. El rendimiento real depende de su entorno operativo.
Construcción del índice de metadatos
Cuando ningún pod del nodo tiene montado un volumen strmvol, el primer pod que lo monta inicia el proceso de inicialización del montaje en el nodo. Durante esta fase, el sistema crea dispositivos de bloque virtuales y construye los índices de metadatos para los archivos de OSS. El pod permanece en el estado ContainerCreating hasta que finaliza la inicialización.
Entorno de pruebas: ecs.g8i.2xlarge, región cn-beijing
La siguiente tabla compara el tiempo de construcción del índice y el consumo de recursos entre erofs (Alibaba Cloud Linux 3) y ext4 (otros sistemas operativos).
|
Cantidad de archivos en el destino de montaje de OSS |
erofs: tiempo de construcción |
erofs: pico de memoria |
erofs: pico de CPU |
ext4: tiempo de construcción |
ext4: pico de memoria |
ext4: pico de CPU |
|
100,000 |
4.09s |
125 MB |
113% |
6.96s |
150 MB |
116% |
|
1,000,000 |
11.07s |
871 MB |
201% |
35.37s |
512 MB |
192% |
|
10,000,000 |
130.59s |
8.7 GB |
247% |
407.00s |
2.4 GB |
253% |
Rendimiento de lectura de datos
Seleccione el escenario de prueba adecuado
Antes de revisar las tablas a continuación, identifique qué escenario coincide con su carga de trabajo:
Lecturas aleatorias de archivos pequeños (por ejemplo, servicio de inference de imágenes): consulte la tabla de lecturas aleatorias con el modo directo habilitado.
Lecturas secuenciales de archivos pequeños o lecturas de flujo único de archivos grandes (por ejemplo, carga de modelos o canalizaciones de datos por lotes): revise la tabla de lecturas secuenciales y de flujo único con el modo directo deshabilitado.
Comparación entre strmvol y ossfs: consulte la tabla de comparación de soluciones.
Cómo afecta resourceLimit al rendimiento
El parámetro resourceLimit limita la CPU y la memoria que el proceso strmvol puede utilizar en un nodo. Este límite determina el rendimiento máximo de lectura que alcanza el volumen:
Por debajo del límite: todas las configuraciones de
resourceLimitofrecen un rendimiento similar.En el límite: el rendimiento deja de escalar aunque aumente la concurrencia. En sistemas distintos de Alibaba Cloud Linux 3, todas las configuraciones de
resourceLimitalcanzan su tope de rendimiento con 64 lecturas simultáneas.Para aumentar el límite: seleccione un nivel superior de
resourceLimit(por ejemplo, cambie de2c4ga4c8g).
Lectura aleatoria, archivos pequeños, modo directo habilitado
Entorno de pruebas: ecs.g7nex.32xlarge, Alibaba Cloud Linux 3, región cn-beijing Escenario de prueba: archivos de imagen de 100 KB, lecturas aleatorias, modo directo habilitado
|
Concurrencia |
Rendimiento (MB/s) |
Rendimiento (img/s) |
Tope de rendimiento |
|
4 |
11.53 |
101.06 |
— |
|
8 |
21.99 |
192.62 |
— |
|
16 |
48.01 |
417.95 |
— |
|
32 |
93.90 |
817.45 |
— |
|
64 |
180.88 |
1,577.12 |
Tope para sistemas distintos de Alibaba Cloud Linux 3 |
|
128 |
312.82 |
2,727.48 |
Tope de 2c4g |
|
256 |
513.54 |
4,475.20 |
Tope de 4c8g |
|
512 |
974.47 |
8,491.96 |
Tope de 8c16g |
|
1,024 |
1,306.61 |
11,386.33 |
Tope de 16c32g |
Lectura secuencial y archivos grandes de flujo único, modo directo deshabilitado
Entorno de pruebas: ecs.g7nex.32xlarge, Alibaba Cloud Linux 3, región cn-beijing Escenario de prueba: archivos de imagen de 100 KB (lectura secuencial, 256 solicitudes simultáneas) y archivos grandes de flujo único, modo directo deshabilitado
Los valores predeterminados de resourceLimit están optimizados para ofrecer el mejor rendimiento en cargas de trabajo generales de solo lectura.
|
Límite de recursos |
Lectura secuencial: 256 simultáneas (MB/s) |
Lectura secuencial: 256 simultáneas (img/s) |
Archivo grande de flujo único (MB/s) |
|
2c4g |
349.89 |
2,742.05 |
216 |
|
4c8g |
789.52 |
6,187.34 |
342 |
|
8c16g |
1,446.17 |
11,333.37 |
548 |
|
16c32g |
2,383.38 |
18,678.12 |
926 |
En el escenario de archivo grande de flujo único, el modo 8c16g ofrece un rendimiento de entre 2.5 y 2.7 GB/s. Si su carga de trabajo presenta características específicas de lectura de datos que los valores predeterminados no cubren, envíe un ticket para solicitar asistencia.
Comparación de soluciones
Entorno de pruebas: ecs.g8i.2xlarge, Alibaba Cloud Linux 3, región cn-beijing
La siguiente tabla compara strmvol con ossfs bajo condiciones equivalentes. El modo directo se habilita únicamente en el escenario de lectura aleatoria de archivos pequeños (archivos de texto de 128 KB).
|
Solución (configuración) |
Lectura aleatoria con 4 hilos (MB/s) |
Lectura secuencial con 4 hilos (MB/s) |
Archivo grande de flujo único (MB/s) |
|
ossfs: configuración predeterminada |
8.4 |
8.4 |
179.2 |
|
ossfs: direct read habilitado, pool de memoria de 1 GB |
3.4 |
3.4 |
293.4 |
|
strmvol: 2c4g |
24.9 |
40.0 |
196.8 |
|
strmvol: 4c8g |
95.6 |
147.1 |
334.5 |