Đối với một khối lượng công việc đọc / ghi nhất định, tôi nhận được 30 MiB / s từ một mảng 4 đĩa bằng cách nhân cổng esata. Khi tôi di chuyển cùng một mảng chính xác đến bốn kết nối sata riêng lẻ, tôi nhận được 90 MiB / s cho cùng một khối lượng công việc. Đây có phải là tác động hiệu suất dự kiến của số nhân? Nếu không, làm cách nào để thu hẹp sự cố giữa phần mềm, bộ điều khiển hoặc bao vây?
Tôi đã nhận được kết quả chính xác tương tự ngay cả sau khi thử một số lượng lớn các biến trong những năm qua:
- Nhiều phiên bản Linux (RHEL5, Fedora 9, 11, 13, 16) và tất cả các hạt nhân đòi hỏi.
- Hai loại vỏ (cả hai mô hình 4 đĩa $ 100 cấp thấp), tổng cộng bốn vỏ.
- Hai loại chipset điều khiển SATA (Marvell 88SE91xx và Silicon Image 3132)
- Bốn bộ điều khiển SATA (Khoảng $ 30 - $ 60 thẻ giao diện pci-x1 và một PCI, tất cả chuyển mạch dựa trên FIS).
- Ba tốc độ SATA (1.5-, 3.0- và 6.0-Gbps)
- Bốn loại hdds (Samsung Spinpoint F1 1TB, WD Caviar Black 2TB, Seagate Barracuda XT 3TB).
- Ba máy tính (Athlon 3ghz + 1GB RAM khi tôi tạo mảng e-sata đầu tiên, sau đó là Core 2 Duo + 4GB, giờ là Core i5 750 + 8GB).
Khi tôi thực hiện bao vây eSATA đầu tiên của mình cách đây nhiều năm, tôi cho rằng tốc độ chậm có liên quan đến việc sử dụng thẻ PCI (33mhz), trình điều khiển SATA chưa trưởng thành hoặc có lẽ là ổ đĩa 5400 RPM của SATA-1.5Gbps. Nhưng hiện tại với bộ điều khiển x1 6Gbps, kernel 3.0 và HDDS 6Gbps 7200rpm, vẫn không có gì thay đổi. Tôi vẫn nhận được 30 MiB / s tương tự cho khối lượng công việc cụ thể đó cho đến khi tôi chuyển nó sang các kết nối SATA riêng lẻ.
Đây có phải là một giới hạn cơ bản của tất cả các triển khai nhân cổng?