qlogic HBA 调整建议随机 iops

qlogic HBA 调整建议随机 iops

尝试从 HP 服务器中配备 Qlogic HBA 的 3PAR SAN 中获取最大性能。我们在具有最新更新/内核的 Centos 5.5 上运行。

有人可以提供有用的建议或调整以获得最大的随机 IOPS 吗?

目前,我们的随机 IOPS 徘徊在 290 左右,并相信这个数字应该更高。

答案1

我曾经使用过类似的设置,但您的问题缺少一些重要信息。以下是我会考虑的事项列表,以便最大限度地发挥您的设置的性能。

块 IO 路径中有多个层,您需要单独查看。我喜欢从底层开始,然后逐步向上查看堆栈。

非常从OS到SAN的基本层如下:

个人简介 -BLock IO Unit 从应用程序提交的请求。由于您谈论的是数据库服务器,因此该请求的大小可能是数据库使用的页面大小的倍数。(收集一些 iostat 数据以查看每个设备的平均请求大小)

设备映射器/多路径 (/dev/dm-*) -BIO 提交给由 multipathd 创建的虚拟设备(如果您正在使用的话)?->虚拟设备层的 IO 调度程序根据读取或写入 BIO 做出决策,并将请求合并到现有队列中或将请求添加到新队列(这里发生更多逻辑,但超出了这个范围)->由于设备由 multipathd 管理,因此可以在 /etc/multipathd.conf 中找到有关如何将 BIO 分发到底层设备的路由决策->此配置文件中有可调参数,可以改变 BIO 单元在路径之间的分布方式

组成虚拟设备的底层物理路径 /dev/sd* ->一旦 BIO 被传送到这些底层设备 ->根据队列选项在这里做出更多决定 ->BIO 传递到 HBA

羟丙基甲基纤维素 -HBA(qlogic)有一个执行节流阀,表示在拒绝新请求之前,该卡能够运行 x 个 BIO(每个 lun)

存储区域网络 ->一旦 BIO 被交给 SAN,您就会失去对其队列和决策的控制。

由于您专门询问了您的 HBA,因此我将查看您的 HBA 执行节流阀并检查其设置值。您可以通过关注繁忙列来查看是否达到最大值:

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

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

相关内容