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?
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.
fuente
Respuestas:
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.
fuente
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:
fuente