对于某些读/写工作负载,我使用esata端口乘法从4磁盘阵列中获得30 MiB / s的速度。当我将完全相同的阵列移动到四个单独的sata连接时,对于相同的工作负载,我将获得90 MiB / s的速度。这是乘数的预期性能影响吗?如果不是,如何缩小软件,控制器或机箱之间的问题?
即使多年来尝试了很多变量,我也得到了完全相同的结果:
- 许多Linux版本(RHEL5,Fedora 9、11、13、16)以及所需的所有内核。
- 两种类型的机箱(均为低端100美元的4磁盘型号),总共四个机箱。
- 两种类型的SATA控制器芯片组(Marvell 88SE91xx和Silicon Image 3132)
- 四个SATA控制器(大约$ 30-$ 60 pci-x1接口卡和一个PCI,均基于FIS交换)。
- 三种SATA速度(1.5、3.0和6.0 Gbps)
- 四种类型的硬盘(三星Spinpoint F1 1TB,WD鱼子酱黑2TB,希捷酷鱼XT 3TB)。
- 三台计算机(我制作第一个e-sata阵列时为Athlon 3ghz + 1GB RAM,然后是Core 2 Duo + 4GB,现在是Core i5 750 + 8GB)。
那些年前,当我制作了第一个eSATA机箱时,我认为速度的降低与使用PCI(33mhz)卡,不成熟的SATA驱动程序或SATA-1.5Gbps 5400 RPM驱动器有关。但是现在有了x1 6Gbps控制器,3.0内核和6Gbps 7200rpm HDDS,仍然没有任何改变。在将其移至单独的SATA连接之前,对于该特定工作负载,我仍然获得相同的30 MiB / s。
这是所有端口乘法实现的基本限制吗?