Red de conocimiento del abogados - Ley de patentes - [Transferir] Prueba comparativa de rendimiento de seis soluciones de almacenamiento K8S

[Transferir] Prueba comparativa de rendimiento de seis soluciones de almacenamiento K8S

Dirección original: /kmova/openebs/tree/fio-perf-tests/k8s/demo/dbench

Finalmente, les presentaré una solución relativamente novedosa.

Portworx es otro almacenamiento nativo de la nube diseñado para Kubernetes, centrado en entornos altamente distribuidos. Es un almacenamiento direccionable por host y cada volumen se asigna directamente al host al que está conectado. Proporciona ajuste automático según el tipo de E/S de la aplicación. Desafortunadamente, no es una solución de almacenamiento de código abierto. Sin embargo, proporciona 3 nodos de forma gratuita para uso de prueba.

*Nota: Para obtener más información sobre Portworx, consulte: /makes-portworx-unique/

Instalar Portworx en AKS es fácil, puede utilizar el generador de especificaciones de Kubernetes:

Ventajas:

Desventajas:

Entorno de prueba de AKS

En esta prueba, el evaluador configuró un Azure AKS básico con un clúster de 3 máquinas virtuales. Para poder conectarse al SSD Premium alojado, los evaluadores deben utilizar una máquina virtual de tamaño tipo E. Entonces eligieron Standard_E2s_v3, que solo tiene 2 vCPU y 16 GB de RAM.

Cada clúster de AKS configura automáticamente un segundo grupo de recursos (RG) MC_ donde puede encontrar todas las máquinas virtuales y NIC. Dentro de RG, los evaluadores crearon 3 discos SSD premium administrados de 1 TB y los conectaron manualmente a cada VM.

Me permite obtener 1TB de disco vacío en cada instancia dedicada a pruebas. Según Azure, su rendimiento puede oscilar entre 5000 IOPS y 200 MB/s, dependiendo de la VM y el tamaño del disco.

Resultados de rendimiento

Nota importante: Los resultados de las pruebas de rendimiento de almacenamiento individuales no se pueden evaluar de forma aislada; deben compararse entre sí para mostrar las brechas. Hay muchas formas de realizar pruebas, el siguiente es uno de los métodos más simples.

Para las pruebas, los evaluadores decidieron utilizar un probador de carga llamado Dbench. Es el manifiesto de implementación de Kubernetes del Pod, y también es donde se ejecuta FIO y viene con 8 casos de prueba, como Flexible IO Tester.

Las pruebas se especifican en el punto de entrada de la imagen de Docker:

Nota: para obtener el resultado completo de todas las pruebas, consulte:

/pupapaik/76c5b7f124dbb69080840f01bf71f924

Ancho de banda de lectura/escritura aleatoria

Las pruebas de lectura aleatoria muestran que GlusterFS, Ceph y Portworx realizan lecturas varias veces más rápido que las rutas de host en los discos locales de AWS porque leen desde la memoria caché. GlusterFS tiene la velocidad de escritura más rápida y alcanza casi el mismo valor que el disco local.

IOPS de lectura/escritura aleatoria

IOPS aleatorias muestra que Portworx y Ceph funcionan mejor. Portworx tiene casi el mismo IOPS en escrituras que Azure PVC nativo, lo cual es genial.

Latencia de lectura/escritura

La prueba de latencia arrojó resultados interesantes, ya que el PVC nativo de Azure fue más lento que la mayoría de los otros sistemas de almacenamiento probados. Portworx y Ceph logran las mejores velocidades de lectura. Pero para escritura, GlusterFS es mejor que Ceph. La latencia de OpenEBS es muy alta en comparación con otros almacenamientos.

Lectura/escritura secuencial

La prueba de lectura/escritura secuencial muestra resultados similares a la prueba aleatoria, pero Ceph lee más del doble de rápido que GlusterFS. A excepción de OpenEBS, que tuvo un rendimiento muy pobre, los resultados de escritura estuvieron casi al mismo nivel.

IOPS de lectura/escritura mixta

El último caso de prueba verificó las IOPS de lectura/escritura mixtas; incluso en escritura mixta, Portworx y Ceph proporcionan mejores IOPS que el PVC nativo de Azure.

Los anteriores son todos los resultados de las pruebas. Espero que este artículo le resulte útil.

--

Referencias:

[1] /rook/rook/blob/master/Documentation/ceph-quickstart.md#ceph-storage-quickstart

[2] /gluster/gluster-kubernetes/blob/master/docs/setup-guide.md#deployment