存储 – Linux – 实际硬件RAID控制器调优(scsi和cciss)
我管理的大多数 Linux系统都具有硬件RAID控制器(大多数为 HP Smart Array).他们都在运行RHEL或CentOS. 我正在寻找真实的可调参数来帮助优化设置的性能,这些设置将硬件RAID控制器与SAS磁盘(Smart Array,Perc,LSI等)和电池支持或闪存支持的缓存相结合.假设RAID 1 0和多个主轴(4个磁盘). 我花了相当多的时间调整Linux网络设置,以实现低延迟和金融交易应用程序.但其中许多选项都有详细记录(更改发送/接收缓冲区,修改TCP窗口设置等).工程师在存储方面做了什么? 从历史上看,我已经对I/O scheduling elevator进行了更改,最近选择了截止日期和noop调度程序来提高我的应用程序的性能.随着RHEL版本的发展,我也注意到SCSI和CCISS块设备的编译默认值也发生了变化.这会随着时间的推移对建议的存储子系统设置产生影响.但是,自从我看到任何明确的建议以来,已经有一段时间了.我知道操作系统默认值不是最佳的.例如,对于服务器级硬件上的部署,似乎128kb的默认预读缓冲区非常小. 以下文章探讨了在块队列上更改预读缓存和nr_requests值对性能的影响. http://zackreed.me/articles/54-hp-smart-array-p410-controller-tuning http://www.overclock.net/t/515068/tuning-a-hp-smart-array-p400-with-linux-why-tuning-really-matters http://yoshinorimatsunobu.blogspot.com/2009/04/linux-io-scheduler-queue-size-and.html 例如,这些是HP Smart Array RAID控制器的建议更改: echo "noop" > /sys/block/cciss!/queue/scheduler blockdev --setra 65536 /dev/cciss/c0d0 echo 512 > /sys/block/cciss!/queue/nr_requests echo 2048 > /sys/block/cciss!/queue/read_ahead_kb 还有哪些可以可靠地调整以提高存储性能? 解决方法我发现当我不得不调整较低的延迟与吞吐量时,我已经将nr_request调低了默认值(低至32).小批量的想法等于较低的延迟.同样对于read_ahead_kb,我发现对于顺序读/写,增加此值可提供更好的吞吐量,但我发现此选项实际上取决于您的工作负载和IO模式.例如,在我最近调整的数据库系统上,我更改了此值以匹配单个数据库页面大小,这有助于减少读取延迟.超出此值的增加或减少证明在我的情况下会损害性能. 至于块设备队列的其他选项或设置: max_sectors_kb =我设置此值以匹配硬件允许单次传输的值(检查sysfs中max_hw_sectors_kb(RO)文件的值以查看允许的内容) nomerges =这使您可以禁用或调整查找逻辑以合并io请求. (将其关闭可以节省一些cpu周期,但是在为我的系统更改此设置时我没有看到任何好处,所以我将其保留为默认值) rq_affinity =我还没有尝试过,但这里是内核文档背后的解释
scheduler =你说你试过截止日期和noop.我已经测试了noop和截止日期,但是我发现我最近为数据库服务器做的测试已经找到了截止日期. NOOP表现不错,但对于我们的数据库服务器,我仍然能够在调整截止日期调度程序时获得更好的性能. 截止日期调度程序的选项位于/ sys / block / {sd,cciss,dm – } * / queue / iosched /: fifo_batch =类似于nr_requests,但特定于调度程序.经验法则是将其调低以降低延迟或提高吞吐量.控制读取和写入请求的批处理大小. write_expire =设置写批次的到期时间默认为5000ms.再次减小此值会减少写入延迟,同时增加该值会增加吞吐量. read_expire =设置读取批次的到期时间默认为500ms.这里适用相同的规则. front_merges =我倾向于关闭它,默认情况下它是打开的.我没有看到调度程序需要浪费cpu周期来尝试合并IO请求. writes_starved =因为截止日期是针对读取的,所以默认处理是在处理写入批处理之前处理2个读取批处理.我发现默认值为2对我的工作量有好处. (编辑:通辽站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |