Para una determinada carga de trabajo de lectura / escritura, obtengo 30 MiB / s de una matriz de 4 discos usando esata multiplicación de puertos. Cuando muevo exactamente la misma matriz a cuatro conexiones sata individuales, obtengo 90 MiB / s por la misma carga de trabajo. ¿Es este el impacto esperado en el rendimiento del multiplicador? Si no es así, ¿cómo puedo reducir el problema entre el software, el controlador o el gabinete?
Obtuve exactamente los mismos resultados incluso después de probar una gran cantidad de variables a lo largo de los años:
- Muchas versiones de Linux (RHEL5, Fedora 9, 11, 13, 16) y todos los núcleos que conlleva.
- Dos tipos de gabinetes (ambos modelos de 4 discos de $ 100 de gama baja), cuatro gabinetes en total.
- Dos tipos de chipsets de controlador SATA (Marvell 88SE91xx y Silicon Image 3132)
- Cuatro controladores SATA (alrededor de $ 30 - $ 60 tarjetas de interfaz pci-x1 y un PCI, todos conmutación basada en FIS).
- Tres velocidades SATA (1.5-, 3.0- y 6.0-Gbps)
- Cuatro tipos de discos duros (Samsung Spinpoint F1 1TB, WD Caviar Black 2TB, Seagate Barracuda XT 3TB).
- Tres computadoras (Athlon 3ghz + 1GB RAM cuando hice la primera matriz e-sata, luego Core 2 Duo + 4GB, ahora un Core i5 750 + 8GB).
Cuando hice mi primer gabinete eSATA hace tantos años, supuse que la baja velocidad estaba relacionada con el uso de una tarjeta PCI (33 mhz), controladores SATA inmaduros o quizás las unidades SATA-1.5Gbps 5400 RPM. Pero ahora con un controlador x1 de 6 Gbps, kernel 3.0 y HDD de 6 Gbps a 7200 rpm, todavía no ha cambiado nada. Todavía obtengo los mismos 30 MiB / s para esa carga de trabajo en particular hasta que lo muevo a conexiones SATA individuales.
¿Es esta una limitación fundamental de todas las implementaciones de multiplicación de puertos?