Probar el rendimiento de varios tipos de unidades en un entorno virtual

Las tecnologías de virtualización están en demanda hoy no solo en el segmento de "grandes negocios", sino también en las PYMES y entre los usuarios domésticos. En particular, para las pequeñas empresas, los servidores de virtualización se pueden usar para implementar una serie de servicios de servicios que no requieren muchos recursos. Esto generalmente se refiere a servidores independientes basados ​​en plataformas de procesador único o doble, con una cantidad relativamente pequeña de RAM en 32-64 GB y sin sistemas especiales de almacenamiento de alto rendimiento. Pero más allá de toda la serie de ventajas, debe tener en cuenta que, en términos de rendimiento, los sistemas virtuales son diferentes de los reales. En este artículo, compararemos las velocidades de varios tipos de unidades locales (HDD, SSD y NVMe) para varias configuraciones de máquinas virtuales con el fin de estimar las pérdidas de su virtualización. Nadie discute que en las implementaciones "correctas" de los sistemas de virtualización es mejor usar almacenamiento externo, pero en la versión de presupuesto se puede manejar con discos locales.

Las pruebas se realizaron en el servidor de la siguiente configuración: placa base Asus Z10PE-D16, dos procesadores Intel Xeon E5-2609 v3, 64 GB de RAM. Se eligió Proxmox VE versión 5.2, un sistema de código abierto basado en Debian, como el entorno de virtualización. Para su instalación, se utilizó un SSD SATA separado, y las unidades probadas se conectaron por separado a otras interfaces y puertos.

Primero, pruebe la unidad desde la plataforma host. La segunda opción es reenviar a la máquina virtual (se utilizan KVM y Debian 9, se asignan 2 núcleos y 8 GB de RAM) como un disco físico. La tercera configuración es un disco virtual en LVM. El cuarto es un archivo RAW en un volumen con un sistema de archivos ext4. En las dos últimas opciones, se eligió un tamaño de disco de 64 GB. Por lo tanto, un resultado adicional del artículo puede ser una comparación de LVM y RAW para almacenar imágenes de disco virtual.

Para medir la velocidad, se utilizará la utilidad fio con patrones de lectura y escritura secuenciales con un bloque de 256 KB y operaciones aleatorias con un bloque de 4 KB. Las pruebas se realizaron con el parámetro iodepth de 1 a 256 para emular diferentes cargas. Para operaciones secuenciales, estimamos la velocidad en MB / s, para operaciones aleatorias - IOPS. Además, observamos los retrasos promedio (clat del informe de prueba).

Comencemos con un disco duro tradicional, en el papel del anciano HGST HUH728080ALE640: un disco con una interfaz SATA y una capacidad de 2 TB. El uso de discos duros individuales, especialmente si no hay requisitos de volumen, en el escenario descrito de virtualización de bajo costo para una carga pequeña puede considerarse una opción típica si guarda completamente o "esculpe de lo que era" y no incluye esta opción en consideración sería un error.

imagen

imagen

En la lectura, todas las opciones, excepto la última, muestran aproximadamente los mismos resultados a un nivel de 190 MB / s (solo con cargas pesadas con iodepth = 256 para paso a través y LVM, los resultados se reducen a 150 MB / s). Mientras que crudo, gracias al almacenamiento en caché en el host, "vuela al espacio" y los demás ya no son visibles en su contexto. Por un lado, podemos decir que la prueba utilizada y la configuración del sistema no nos permiten evaluar correctamente la velocidad de esta configuración y mostrar el rendimiento no de RAM, sino de RAM. Por otro lado, el almacenamiento en caché es una de las tecnologías más efectivas y comunes para aumentar la productividad, y si funciona, sería extraño rechazarlo. Pero no se olvide de la potencia confiable en tales configuraciones.

imagen

imagen

Ya no existe tal efecto en la grabación, por lo que en operaciones secuenciales todas las configuraciones son aproximadamente iguales: la velocidad máxima es de aproximadamente 190 MB / s. Aunque raw aún se comporta de manera diferente a los demás, con una carga pequeña es más lento, pero al máximo no se ralentiza como el resto. No hay diferencias en los retrasos.

imagen

imagen

El uso de la memoria caché del host también se nota en las operaciones de lectura aleatoria: aquí, raw es consistentemente el más rápido y muestra hasta 950 IOPS. Aproximadamente el doble de lento que lvm: hasta 450 IOPS. Bueno, el disco duro en sí, incluido el "reenvío" al sistema invitado, muestra alrededor de 200 IOPS. La distribución de los participantes en el horario de demora es consistente con las velocidades.

imagen

imagen

En operaciones de escritura aleatorias, la configuración lvm, que proporcionaba hasta 400 IOPS, resultó ser la mejor. Le sigue sin procesar (~ 330 IOPS), y los dos últimos participantes con 290 IOPS cierran la lista. No hay diferencias notables en los retrasos.

En general, si no necesita las funciones proporcionadas por lvm, y el criterio clave no es la velocidad de escritura aleatoria, es mejor usar raw en términos de velocidad al colocar discos virtuales en el almacenamiento local. La aplicación de tecnología para reenviar un disco físico a una máquina virtual no proporciona ventajas de rendimiento en este caso. Pero puede ser interesante si desea conectar una unidad con datos existentes a la máquina virtual.

El segundo participante de la prueba es el Samsung 850 EVO SSD. Dada su edad y su trabajo en un sistema sin TRIM, en algunas pruebas (en particular la grabación secuencial), ya pierde en el disco duro. Sin embargo, debido a una ganancia de rendimiento significativa en operaciones aleatorias frente a un disco duro tradicional, también es muy interesante para las máquinas virtuales.

imagen

imagen

El resultado de la lectura secuencial en modo sin formato se puede comentar de manera similar a la variante con un disco duro. Pero lo más interesante aquí es que las dos primeras configuraciones muestran 370 MB / s estables bajo una carga pesada, mientras que lvm es capaz de solo 190 MB / s. Los retrasos para este modo también son mayores.

imagen

imagen

En operaciones de escritura, como ya se mencionó, este SSD en su estado actual no parece muy interesante y muestra una velocidad de 100 MB / s. En cuanto a la comparación de configuraciones, en esta prueba las pérdidas sin procesar a una carga baja, tanto en velocidad como en retraso.

imagen

imagen

Las operaciones aleatorias son el principal SSD de "carta de triunfo". Aquí vemos que las opciones "virtuales" pierden notablemente en una unidad "limpia": proporcionan solo 30,000 IOPS, mientras que el SSD puede trabajar tres veces más rápido. Aparentemente, aquí la limitación es la plataforma de hardware y software. Sin embargo, los retrasos en esta prueba no superan los 7 ms, por lo que es poco probable que las aplicaciones generales noten esta diferencia en IOPS.

imagen

imagen

Y en un registro aleatorio hay un equilibrio de poder diferente. El disco "real" ya está perdiendo, aunque ligeramente. Es capaz de mostrar hasta 4,200 IOPS. lvm y passthrough son uno o doscientos más, y raw ya llega a 5.500 IOPS. En el gráfico de retrasos de un video obviamente interesante, una fractura de iodepth = 32.

Las pruebas mostraron que la SSD se comporta de manera diferente a la HDD en este escenario. En primer lugar, la lectura secuencial con lvm está muy por detrás de otras opciones. En segundo lugar, los discos virtuales en SSD pierden notablemente en IOPS de lectura aleatoria.

El tercer participante está algo fuera de lo "económico", pero este producto en sí mismo es muy interesante para el "acelerador" universal de las operaciones de disco y puede competir en velocidad no solo con unidades individuales, sino también con matrices RAID. Se trata de Intel Optane. En este caso, utilizamos el modelo 900P para el bus PCIe 3.0 x4, con una capacidad de 280 GB.

imagen

imagen

Intel Optane ya puede competir con RAM en esta prueba. La diferencia ya no es un orden de magnitud, como los otros participantes, sino solo dos o tres veces. Además, al aumentar la carga, los valores se comparan prácticamente. Los retrasos como en las pruebas anteriores son menores para la configuración sin formato.

imagen

imagen

En las operaciones de escritura secuencial, una unidad "limpia" incluso pierde para otros participantes: con un aumento en la carga, alcanzan una estabilidad de 2.150 MB / s, y reduce la velocidad a aproximadamente 1.700 MB / s. Los retrasos en este caso no se pueden comparar.

imagen

imagen

Las operaciones de lectura aleatoria de este modelo SSD al acceder desde el host pueden proporcionar casi 200,000 IOPS (la velocidad será del nivel de 760 MB / s). Pero todos los demás esquemas de conexión, como vimos anteriormente para los SSD con una interfaz SATA, están limitados a 35,000 IOPS, que no pueden sino molestar. En consecuencia, tienen un retraso mayor, aproximadamente cinco veces.

imagen

imagen

En la grabación aleatoria, este modelo de unidad sin duda único muestra casi los mismos resultados que en la lectura aleatoria: aproximadamente 190,000 IOPS para conexión directa y 35,000 IOPS para otras opciones. Los retrasos también coinciden con el gráfico en las operaciones de lectura. Por otro lado, más de 700 MB / s en grabación aleatoria en bloques pequeños, por lo que aún es necesario buscar estos resultados.

El uso de la unidad Intel Optane para el problema estudiado muestra que no habrá una disminución significativa de la velocidad en las operaciones secuenciales en los sistemas operativos invitados. Pero si necesita altos IOPS para lectura o escritura aleatoria, entonces esta plataforma limitará el rendimiento al nivel de 35,000 IOPS, aunque el disco en sí es cinco veces más rápido.

Las pruebas han demostrado que al construir sistemas de almacenamiento para servidores virtuales, debe prestar atención a ciertas pérdidas de la virtualización si la velocidad es importante para sus máquinas virtuales. En la mayoría de las configuraciones probadas, los discos virtuales muestran indicadores de rendimiento significativamente diferentes de los dispositivos físicos. Sin embargo, para los discos duros tradicionales, la diferencia suele ser relativamente pequeña, porque ellos mismos no son tan rápidos. Para las SSD SATA, se pueden observar bajas significativas en IOPS para el acceso aleatorio, pero aun así, siguen siendo dramáticamente más rápidas en estas tareas que Winchesters. El disco Intel Optane ciertamente perdió mucho en el entorno virtual en operaciones aleatorias, pero incluso en este caso sigue siendo fenomenalmente rápido en la grabación. Y en operaciones posteriores no hay comentarios sobre él. Otra ventaja importante de este dispositivo es su rendimiento estable: no requiere ninguna operación de limpieza especial, por lo que, independientemente del estado y el historial pasado, así como del sistema operativo y su configuración, la velocidad será constante en cualquier momento. Pero, como siempre, no pasa nada gratis. El Intel Optane 900P no solo es excepcionalmente rápido, sino también caro.

Source: https://habr.com/ru/post/es419825/


All Articles