Linux RAID-0性能不会超过1 GB / s

我无法从我的设置中获得最大吞吐量.硬件如下:

>双四核AMD Opteron(tm)处理器2376
> 16 GB DDR2 ECC RAM
>双Adaptec 52245 RAID控制器
> 48个1 TB SATA驱动器设置为2个RAID-6阵列(256 KB条带)备件.

软件:

>普通的vanilla 2.6.32.25内核,针对AMD-64编译,针对NUMA进行了优化; Debian Lenny用户名.
>基准测试运行:disktest,bonnie,dd等等都给出了相同的结果.这里没有差异.
> io调度程序使用:noop.是的,这里没有诀窍.

到目前为止,我基本上假设条带化(RAID 0)几个物理设备应该大致线性地增加性能.但是这不是这种情况:

>每个RAID阵列都能实现大约780 MB / s的写入,持续和1 GB / s的读取速度.
>使用两个不同的进程同时写入两个RAID阵列可提供750 750 MB / s,两者的读数均为1 GB / s.
>但是当我使用mdadm或lvm对两个阵列进行条带化时,性能大约是850 MB / s写入和1.4 GB / s读取.比预期少至少30%!
>对条带阵列运行两个并行的写入器或读取器进程不会增强数字,实际上它会进一步降低性能.

那么这里发生了什么?基本上我排除了总线或内存争用,因为当我同时在两个驱动器上运行dd时,聚合写入速度实际上达到1.5 GB / s,读取速度高达2 GB / s.

所以它不是PCIe总线.我想这不是RAM.它不是文件系统,因为我对原始设备或使用XFS进行了完全相同的数字基准测试.使用LVM条带化和md条带化也可以获得完全相同的性能.

怎么了?是什么阻止了流程达到最大吞吐量? Linux条带化有缺陷吗?我可以运行哪些其他测试?

解决方法

您是否尝试在执行基准测试时运行latencytop?可能有助于查看哪个linux系统调用是罪魁祸首(如果有的话).

相关文章

Linux中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...