如何在linux上运行sas,在Linux上改进SAS多路径到JBOD性能

我正在尝试使用

Linux优化某些Sun硬件上的存储设置.任何想法将不胜感激.

我们有以下硬件:

> Sun Blade X6270

> 2 * LSISAS1068E SAS控制器

> 2 *带有1 TB磁盘的Sun J4400 JBOD(每个JBOD 24个磁盘)

> Fedora Core 12

> 2.6.33从FC13发布内核(也尝试使用FC12的最新2.6.31内核,结果相同)

这是SAS硬件的数据表:

它使用PCI Express 1.0a,8x通道.每个通道的带宽为250 MB /秒,我们应该能够为每个SAS控制器执行2000 MB /秒的速度.

每个控制器每端口可以达到3 Gb /秒,并且有两个4端口PHY.我们将两个PHY从控制器连接到JBOD.因此,在JBOD和控制器之间,我们有2个PHY * 4个SAS端口* 3 Gb /秒= 24 Gb /秒的带宽,这超过了PCI Express带宽.

启用写入缓存和执行大写操作时,每个磁盘可以维持大约80 MB /秒(靠近磁盘的起始位置).有24个磁盘,这意味着我们应该能够为每个JBOD做1920 MB /秒.

multipath {

rr_min_io 100

uid 0

path_grouping_policy multibus

failback manual

path_selector "round-robin 0"

rr_weight priorities

alias somealias

no_path_retry queue

mode 0644

gid 0

wwid somewwid

}

我为rr_min_io尝试了50,100,1000的值,但似乎并没有太大的区别.

随着rr_min_io的变化,我尝试在启动dd之间添加一些延迟以防止它们同时在相同的PHY上写入,但这没有任何区别,所以我认为I / O正在适当地分散.

根据/ proc / interrupts,SAS控制器正在使用“IR-IO-APIC-fasteoi”中断方案.由于某种原因,机器中的核心#0只处理这些中断.通过为每个SAS控制器分配一个单独的内核来处理中断,我可以稍微提高性能:

echo 2 > /proc/irq/24/smp_affinity

echo 4 > /proc/irq/26/smp_affinity

使用dd写入磁盘会生成“函数调用中断”(不知道它们是什么),它们由核心#4处理,因此我也将其他进程保留在此核心之外.

我运行48 dd(每个磁盘一个),将它们分配给不处理中断的内核,如下所示:

taskset -c somecore dd if=/dev/zero of=/dev/mapper/mpathx oflag=direct bs=128M

oflag = direct可防止任何类型的缓冲区缓存参与其中.

我的核心似乎都没有达到最大化.处理中断的内核大多是空闲的,所有其他内核都在等待I / O,正如人们所期望的那样.

Cpu0 : 0.0%us, 1.0%sy, 0.0%ni, 91.2%id, 7.5%wa, 0.0%hi, 0.2%si, 0.0%st

Cpu1 : 0.0%us, 0.8%sy, 0.0%ni, 93.0%id, 0.2%wa, 0.0%hi, 6.0%si, 0.0%st

Cpu2 : 0.0%us, 0.6%sy, 0.0%ni, 94.4%id, 0.1%wa, 0.0%hi, 4.8%si, 0.0%st

Cpu3 : 0.0%us, 7.5%sy, 0.0%ni, 36.3%id, 56.1%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu4 : 0.0%us, 1.3%sy, 0.0%ni, 85.7%id, 4.9%wa, 0.0%hi, 8.1%si, 0.0%st

Cpu5 : 0.1%us, 5.5%sy, 0.0%ni, 36.2%id, 58.3%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu6 : 0.0%us, 5.0%sy, 0.0%ni, 36.3%id, 58.7%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu7 : 0.0%us, 5.1%sy, 0.0%ni, 36.3%id, 58.5%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu8 : 0.1%us, 8.3%sy, 0.0%ni, 27.2%id, 64.4%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu9 : 0.1%us, 7.9%sy, 0.0%ni, 36.2%id, 55.8%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu10 : 0.0%us, 7.8%sy, 0.0%ni, 36.2%id, 56.0%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu11 : 0.0%us, 7.3%sy, 0.0%ni, 36.3%id, 56.4%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu12 : 0.0%us, 5.6%sy, 0.0%ni, 33.1%id, 61.2%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu13 : 0.1%us, 5.3%sy, 0.0%ni, 36.1%id, 58.5%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu14 : 0.0%us, 4.9%sy, 0.0%ni, 36.4%id, 58.7%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu15 : 0.1%us, 5.4%sy, 0.0%ni, 36.5%id, 58.1%wa, 0.0%hi, 0.0%si, 0.0%st

鉴于此,运行“dstat 10”报告的吞吐量在2200-2300 MB /秒的范围内.

鉴于上面的数学,我期望在2 * 1920~ = 3600 MB / sec的范围内.

有没有人知道我的丢失带宽去了哪里?

谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值