Untuk beban kerja baca / tulis tertentu, saya mendapatkan 30 MiB / s dari array 4-disk menggunakan esata port multiplication. Ketika saya memindahkan array yang sama persis ke empat koneksi sata individu, saya mendapatkan 90 MiB / s untuk beban kerja yang sama. Apakah ini dampak kinerja yang diharapkan dari pengganda? Jika tidak, bagaimana saya mempersempit masalah antara perangkat lunak, pengontrol, atau enklosur?
Saya mendapatkan hasil yang sama persis bahkan setelah mencoba sejumlah besar variabel selama bertahun-tahun:
- Banyak versi Linux (RHEL5, Fedora 9, 11, 13, 16) dan semua kernel yang diperlukan.
- Dua jenis selungkup (keduanya model disk 4 100 $ low-end), total empat selungkup.
- Dua jenis chipset pengontrol SATA (Marvell 88SE91xx dan Silicon Image 3132)
- Empat pengendali SATA (Sekitar $ 30 - $ 60 kartu antarmuka pci-x1 dan satu PCI, semua switching berbasis FIS).
- Tiga kecepatan SATA (1.5-, 3.0-, dan 6.0-Gbps)
- Empat jenis hdds (Samsung Spinpoint F1 1TB, WD Caviar Black 2TB, Seagate Barracuda XT 3TB).
- Tiga komputer (Athlon 3ghz + 1GB RAM ketika saya membuat array e-sata pertama, kemudian Core 2 Duo + 4GB, sekarang Core i5 750 + 8GB).
Ketika saya melakukan enclosure eSATA pertama saya bertahun-tahun yang lalu, saya berasumsi kecepatan lambat terkait dengan penggunaan kartu PCI (33mhz), driver SATA yang belum matang, atau mungkin drive SATA-1.5Gbps 5400 RPM. Tapi sekarang dengan controller x1 6Gbps, kernel 3.0, dan 6DSbps 7200rpm, masih belum ada yang berubah. Saya masih mendapatkan 30 MiB / s yang sama untuk beban kerja tertentu sampai saya memindahkannya ke koneksi SATA individual.
Apakah ini batasan mendasar dari semua implementasi multiplikasi port?
sumber
Jawaban:
Iya. Performa buruk diharapkan.
Protokol ATA tidak pernah dimaksudkan untuk membawa data ke lebih dari satu drive (sebenarnya didasarkan pada Bus ISA, memperluas saluran komunikasi ke drive penyimpanan). Antarmuka IDE menipu batasan ini dengan membawa data untuk perangkat "Master" dan "Slave". Namun SATA tidak memiliki mekanisme yang setara, karena hanya ditujukan untuk satu perangkat per koneksi kabel.
eSATA Port Multipliers berfungsi sebagai target ATA yang dapat memilih beberapa media fisik (jadi hanya satu perangkat fisik yang dapat ditangani pada satu waktu, dan ada sedikit latensi dalam beralih ke perangkat yang berbeda). Anda dapat membandingkan ini dengan Perpustakaan Optik lama.
Ini sangat berbeda dari SAS yang dibangun dengan Ekspander dan inisiator / target routing bawaan (fungsi SAS 2.0+ agak seperti jaringan Ethernet yang diaktifkan). SAS juga dapat menyatukan banyak saluran ke dalam trunk yang memungkinkan akses simultan ke banyak perangkat di berbagai saluran trunk.
Pembaruan:
Rupanya ada pengontrol yang lebih baru yang mendukung FIS, yang memungkinkan beberapa drive menjadi "aktif" pada saat bersamaan. Ini harus memungkinkan kinerja jauh lebih tinggi daripada yang dijelaskan di atas. Ternyata saat ini hanya satu produsen yang membuat chip ini. Saya masih sangat merekomendasikan memulai dari SATA di lingkungan server. Jika Anda harus menggunakan drive SATA, pertimbangkan masih menggunakan pengontrol dan Ekspander SAS.
sumber
Apakah Anda yakin Anda mencoba pengontrol dan pengganda port yang mendukung penggandaan port FIS (Frame Information Structure) ?
Hanya AFAIK pengontrol dan pengganda Silicon Image (SiI3726) yang mendukung hal ini, tetapi kinerjanya mirip dengan SAS dengan kecepatan yang sama (saturasi tautan 80-90%).
sumber