W przypadku pewnego obciążenia odczytu / zapisu uzyskuję 30 MiB / s z 4-dyskowej tablicy przy użyciu mnożenia portów esata. Kiedy przenoszę dokładnie tę samą tablicę do czterech pojedynczych połączeń sata, otrzymuję 90 MiB / s dla tego samego obciążenia. Czy to oczekiwany wpływ mnożnika na wydajność? Jeśli nie, to jak zawęzić problem między oprogramowaniem, kontrolerem lub obudową?
Dokładnie takie same wyniki uzyskałem nawet po wypróbowaniu dużej liczby zmiennych przez lata:
- Wiele wersji systemu Linux (RHEL5, Fedora 9, 11, 13, 16) i wszystkie związane z nimi jądra.
- Dwa typy obudów (oba 4-dyskowe modele z niższej klasy 100 USD), łącznie cztery obudowy.
- Dwa typy układów scalonych kontrolera SATA (Marvell 88SE91xx i Silicon Image 3132)
- Cztery kontrolery SATA (około 30–60 USD karty interfejsu pci-x1 i jeden PCI, wszystkie przełączanie oparte na FIS).
- Trzy prędkości SATA (1,5, 3,0 i 6,0 Gb / s)
- Cztery rodzaje dysków twardych (Samsung Spinpoint F1 1 TB, WD Caviar Black 2 TB, Seagate Barracuda XT 3 TB).
- Trzy komputery (Athlon 3 GHz + 1 GB RAM, kiedy zrobiłem pierwszą macierz e-sata, następnie Core 2 Duo + 4 GB, teraz Core i5 750 + 8 GB).
Kiedy robiłem swoją pierwszą obudowę eSATA wszystkie lata temu, założyłem, że niska prędkość była związana z używaniem karty PCI (33 MHz), niedojrzałych sterowników SATA lub być może dysków SATA 1,5 Gb / s 5400 obr./min. Ale teraz z kontrolerem x1 6 Gb / s, jądrem 3.0 i dyskiem HDD o prędkości 6 Gb / s 7200 obr / min, nadal nic się nie zmieniło. Nadal dostaję te same 30 MiB / s dla tego konkretnego obciążenia, dopóki nie przeniosę go do poszczególnych połączeń SATA.
Czy jest to podstawowe ograniczenie wszystkich implementacji zwielokrotnienia portów?