¿Qué rendimiento debo esperar con MPIO?

12

Dell PowerEdge 2950 con dos NIC de 1 Gbps que van a dos puertos de 1 Gbps en un conmutador que luego va a una NetApp con cuatro NIC de 1 Gbps que se presentan como una interfaz virtual. 24 unidades, 7200k SATA, NetApp RAID-DP. Mapeé cada NIC de host a NetApp usando MPIO en el iniciador iSCSI de Microsoft. Al probar con SQLIO, mi rendimiento de escritura parece razonable en aproximadamente 200 MB, pero mis lecturas están más cerca de 100 MB.

¿No deberían mis lecturas estar más cerca de 200 MB como mis escrituras? ¿Es este un problema de configuración o hay un problema fundamental de almacenamiento que no entiendo?

ingrese la descripción de la imagen aquí

Actualización: Aquí hay IOPS para la carga de trabajo aleatoria. Sin embargo, las lecturas tienen sentido, no estoy seguro de qué hacer con 20000 para las escrituras. La memoria caché SAN es de 3,2 GB. Las pruebas de SQLIO son contra un archivo de 25 GB.

ingrese la descripción de la imagen aquí

Henry Lee
fuente
3
¿Cuál es su caché en el dispositivo NetApp? ¿Tiene un administrador de SAN que pueda extraer algunas métricas por usted? Tenemos una NetApp y pudimos identificar algunos problemas con una combinación de informes y registros de advertencia. En última instancia, nuestra situación era una mala tarjeta de fibra, pero el soporte de NetApp fue bastante útil para ayudarnos a la causa raíz.
swasheck
2
Puede valer la pena analizar la configuración de sus agregados y volúmenes para asegurarse de que sus discos se estén utilizando correctamente (no dude en publicar su configuración, aunque no estoy seguro de cuántos de nosotros somos expertos de NetApp). Es normal que las escrituras sean más rápidas que las lecturas, porque las escrituras se pueden almacenar en caché en el archivador antes de que se envíen al disco, pero las lecturas deben golpear el disco a menos que ya estén en el caché.
Nathan Jolly
2
@mrdenny ¿De dónde surge esta noción de "99% de IO en bloques de 64k"? Bob Dorr indica lo contrario , al igual que Wes Brown . Incluso si tuviéramos que ignorar esos dos artículos completos, seguramente el sentido común dicta que verá 8K IO en una plataforma que usa un tamaño de página de 8K.
Mark Storey-Smith
2
@mrdenny La mina debe estar rota entonces, ¿debo llamar al soporte? Estoy sentado aquí mirando la actividad de E / S del archivo de datos con el monitor de proceso y, aunque hay una lectura esperada de 64K en abundancia, hay muchas otras lecturas múltiples de 8K y, por supuesto, muchas escrituras de 8K. La actividad de registro es la esperada, múltiplos de 512 bytes que van desde escrituras de 512 bytes hasta 60k.
Mark Storey-Smith
2
@ MarkStorey-Smith En mi experiencia, las lecturas en 8k ocurren típicamente correlacionadas con la fragmentación. También podría indicar un desperdicio de memoria, baja vida útil de la página debido a escaneos que expulsan páginas (es decir, la mayor parte todavía está en la memoria). Un sistema bien ajustado debe mostrar 64k lecturas. Las escrituras, por supuesto, dependen de lo que realmente está sucio.
Remus Rusanu

Respuestas:

7

Las escrituras de disco en realidad van a la memoria (NVRAM) en el archivador, para ser descargadas al disco más tarde; en un archivador inactivo, serán increíblemente rápidas, y los iops de 20,000 son bastante creíbles (verá velocidades similares en la mayoría de los SSD) .

Las lecturas, por otro lado, deben provenir del disco a menos que ya estén en la memoria caché de lectura del archivador (que, a diferencia de las escrituras, están en la memoria volátil).

Es difícil fijar a los proveedores de almacenamiento en iops para discos giratorios, pero para una unidad de 7200 RPM, 80-120 iops es bastante creíble. Teniendo en cuenta que probablemente haya perdido un par de discos en RAID-DP y / o repuestos de NetApp, 2,200 iops está cerca de lo que podría esperar de 22 discos que realizan alrededor de 100 iops cada uno.

Es posible que esto no explique sus velocidades de lectura (es posible que sus discos no realicen los 2200 iops completos cuando realiza una lectura secuencial), pero al menos puede ayudar a explicar su rendimiento de escritura.

Nathan Jolly
fuente
Gracias nathan ¿Debo esperar duplicar el rendimiento con dos NIC y MPIO?
Henry Lee
1
¿Puede verificar la utilización en su archivador mientras ejecuta sus pruebas de lectura secuencial? Si alcanza el 100%, es probable que su cuello de botella esté en el archivador (ya sea debido a limitaciones de configuración o iops en cada disco) y las conexiones MPIO / MPIO adicionales no agregarán nada. Su rendimiento de escritura podría aumentar aún más.
Nathan Jolly
5

Para la posteridad, después de mucho ensayo y error, descubrimos cómo obtener el rendimiento esperado.

Como se mencionó anteriormente, NetApp tenía una interfaz virtual respaldada por cuatro NIC físicas. El host tiene dos NIC y configuré MPIO a través del iniciador MS iSCSI para que hubiera una ruta desde cada NIC a la única interfaz virtual. Los resultados fueron el rendimiento anterior: las escrituras tenían sentido a cerca de 200 MB o la velocidad de dos NIC, pero las lecturas eran la mitad o la velocidad de una NIC.

Tras una inspección más cercana, nuestro chico de SAN notó que el tráfico solo fluía a través de una de las NIC físicas para las lecturas. No estoy seguro de si hubo un error de configuración de nuestra parte, pero hubo dos cosas que probamos y ambas obtuvieron nuestro rendimiento. Una era cambiar de una interfaz virtual respaldada por cuatro NIC a dos interfaces virtuales, cada una respaldada por dos NIC. Luego, asigne una NIC de host a una interfaz virtual. La otra cosa que intentamos fue usar "alias" en el lado de SAN para presentar múltiples interfaces virtuales. (No soy un chico de SAN, así que espero haberlo dicho correctamente).

Mi conclusión es que solo necesitábamos la SAN para presentar más de una interfaz, por lo que el Iniciador realmente vio múltiples caminos. Aquí está nuestro rendimiento ahora:

ingrese la descripción de la imagen aquí

Henry Lee
fuente
¿Por qué las escrituras más pequeñas son más lentas ahora?
Jack dice que pruebe topanswers.xyz
No estoy seguro, no hemos podido resolver eso todavía. Volveré a publicar si lo descubro.
Henry Lee