Articles of 性能调整

Linux – 真实世界的硬件RAID控制器调优(scsi和cciss)

我pipe理的大部分Linux系统都是function硬件RAID控制器(主要是HP Smart Array )。 他们都运行RHEL或CentOS。 我正在寻找真实世界的可调参数来帮助优化将硬盘RAID控制器与SAS磁盘(Smart Array,Perc,LSI等)以及电池供电或闪存备份caching相结合的设置的性能。 假设RAID 1 + 0和多个主轴(4个以上的磁盘)。 我花了相当多的时间调整Linuxnetworking设置以适应低延迟和金融交易应用。 但是其中的许多选项都有详细logging(更改发送/接收缓冲区,修改TCP窗口设置等)。 工程师在存储方面做了什么? 从历史上看,我对I / O调度电梯进行了修改,最近select了deadline和noop调度程序来提高我的应用程序的性能。 随着RHEL版本的进步,我也注意到SCSI和CCISS块设备的编译默认值也发生了变化。 这对build议的存储子系统设置随着时间的推移已经产生了影响。 但是,从我看到任何明确的build议已经有一段时间了。 而且我知道操作系统默认不是最佳的。 例如,对于在服务器级硬件上部署,似乎128kb的默认预读缓冲区非常小。 以下文章探讨了在块队列上更改预读caching和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智能arraysRAID控制器的build议更改: echo "noop" > /sys/block/cciss\!c0d0/queue/scheduler blockdev –setra 65536 /dev/cciss/c0d0 echo 512 > /sys/block/cciss\!c0d0/queue/nr_requests echo 2048 > /sys/block/cciss\!c0d0/queue/read_ahead_kb 还有什么可以可靠地调整,以提高存储性能? 我特别在生产场景中寻找sysctl和sysfs选项。