qlogic HBA调优build议随机iops

试图在惠普服务器中使用Qlogic HBA从3PAR SAN中获得最高的性能。 我们使用最新的更新/内核在Centos 5.5上运行。

任何人都可以给有用的build议或调整,以获得最大的随机IOPS?

现在我们徘徊在290个随机IOPS,并相信这个数字应该更高。

我已经在类似的设置,但你的问题缺乏一些重要的信息。 这里列出一些我将要看的东西,以便从设置中挤出最多的性能。

块IOpath中有几个层需要单独查看。 我喜欢从底部开始,并沿着堆栈工作。

从操作系统到SAN的非常基本的层次如下:

从应用程序提交的BIO- BLOCK IO Unit请求。 既然你谈到一个数据库服务器,这个请求的大小可能是数据库使用的页面大小的几倍。 (收集一些iostat数据来查看每个设备的平均请求大小)

Device Mapper / Multipath(/ dev / dm- *)- BIO提交给multipathd创build的虚拟设备,如果这就是你正在使用的? – >虚拟设备层的IO调度程序根据读或写BIO做出决定,并将请求合并到现有队列中,或者将请求添加到新队列中(更多逻辑发生在此,但超出此范围) – >由于设备由多path,关于如何将BIO分配到底层设备的路由决策可以在/etc/multipathd.conf中find – >在这个configuration文件中有可调参数,它改变了BIO单元在path中分布的方式

构成虚拟设备的底层物理path / dev / sd * – >一旦BIO传送到这些底层设备 – >根据队列选项做出更多决定 – > BIO传递到HBA

HBA -HBA(qlogic)有一个执行限制,表示在拒绝新的请求之前,卡能够拥有x个BIO的数量(每个LUN)

SAN – >一旦BIO被交给SAN,你就无法控制它的队列和决策。

既然你特别提到了你的HBA,我会考虑你的HBA执行节制,并检查它的设置。 你可以看看你是否曾经在忙碌的专栏看到最高点:

cat /proc/scsi/sg/device_hdr /proc/scsi/sg/devices 

接下来,我将开始通过收集iostat和vmstat数据来分析您的系统工作负载。 然后,我会尝试使用multipath.conf选项,队列sysfs选项,文件系统选项和IO调度程序选项来查看对每个这些层所做的更改是否会更好地阻止IO性能。 请记住,一次只能进行1次更改,并在收集数据时至less运行3次左右的更改。