Para uma certa carga de trabalho de leitura / gravação, recebo 30 MiB / s de uma matriz de 4 discos usando a multiplicação de portas esata. Quando movo exatamente o mesmo array para quatro conexões SATA individuais, recebo 90 MiB / s para a mesma carga de trabalho. Esse é o impacto esperado no desempenho do multiplicador? Caso contrário, como reduzo o problema entre o software, o controlador ou o gabinete?
Eu obtive exatamente os mesmos resultados, mesmo depois de tentar um grande número de variáveis ao longo dos anos:
- Muitas versões do Linux (RHEL5, Fedora 9, 11, 13, 16) e todos os kernels que isso implica.
- Dois tipos de gabinetes (ambos modelos low-end de US $ 100 com 4 discos), quatro gabinetes no total.
- Dois tipos de chipsets controladores SATA (Marvell 88SE91xx e Silicon Image 3132)
- Quatro controladores SATA (cerca de US $ 30 - US $ 60 placas de interface pci-x1 e uma PCI, todas com comutação baseada em FIS).
- Três velocidades SATA (1,5, 3,0 e 6,0 Gbps)
- Quatro tipos de discos rígidos (Samsung Spinpoint F1 1TB, WD Caviar Black 2TB, Seagate Barracuda XT 3TB).
- Três computadores (Athlon 3ghz + 1GB RAM quando criei o primeiro array e-sata, depois Core 2 Duo + 4GB, agora Core i5 750 + 8GB).
Quando fiz meu primeiro gabinete eSATA todos esses anos atrás, presumi que a velocidade lenta estava relacionada ao uso de uma placa PCI (33mhz), drivers SATA imaturos ou talvez as unidades SATA-1.5Gbps 5400 RPM. Mas agora com um controlador x1 de 6 Gbps, kernel 3.0 e HDDS de 6 Gbps e 7200 rpm, ainda nada mudou. Ainda recebo os mesmos 30 MiB / s para essa carga de trabalho em particular até movê-la para conexões SATA individuais.
Essa é uma limitação fundamental de todas as implementações de multiplicação de portas?