Linux操作系统块设备参数调优

       

目录

一、队列深度

二、调度算法

三、预读量

四、I/O对齐


一、队列深度

        队列深度决定了给块设备写I/O的最大并发数,对于Linux系统,默认值为128,一般情况下不建议用户修改此参数。用户可以使用cat命令查询当前块设备队列深度。

 linux-ob3a:~ # cat /sys/block/sdc/queue/nr_requests

128 

        当对系统进行极限性能测试时,为了增大主机写I/O的压力及I/O在队列中被合并的概率,可以适当的增大此参数。可以通过如下方法临时修改块设备的队列深度。

echo 256 > /sys/block/sdc/queue/nr_requests

https://i-blog.csdnimg.cn/blog_migrate/e71939988f0a0f73353869af8d40dcf2.png

临时修改块设备队列深度可以用于性能调优,当应用服务器重启后,块设备队列深度将恢复为默认值。

二、调度算法

        Linux操作系统2.6内核支持四种块设备调度算法:noop,anticipatory,deadline和cfq。默认的调度算法为cfq。用户可以使用cat命令查询当前块设备调度算法。

 linux-ob3a:~ # cat /sys/block/sdc/queue/scheduler

noop deadline [cfq]  

        调度算法配置不当会对系统性能产生影响,如I/O并发等。可以通过如下方法临时修改块设备的调度算法。

echo noop > /sys/block/sdc/queue/scheduler

https://i-blog.csdnimg.cn/blog_migrate/e71939988f0a0f73353869af8d40dcf2.png

临时修改调度算法可以用于性能调优,当应用服务器重启后,调度算法将恢复为默认值。

三、预读量

        Linux的预读功能类似于阵列的预读算法,仅对顺序读有效且会对顺序流进行识别,并提前读取“read_ahead_kb”(单位为扇区)长度的数据。例如,SUSE 11操作系统预读量的默认值为512扇区,即256KB。用户可以使用cat命令查询当前块设备预读量。

 linux-ob3a:~ # cat /sys/block/sdc/queue/read_ahead_kb

512 

当业务需要对大量的大文件进行读取时,可以通过适当调大此参数提升性能。可以通过如下方法修改块设备的预读量。

echo 1024 > /sys/block/sdc/queue/read_ahead_kb

四、I/O对齐

        在Linux或Windows Server 2003之前版本的操作系统中使用MBR格式创建分区时,会将磁盘的最开始63个扇区预留给主引导记录和分区表,第一个分区默认从第64扇区开始。这造成了主机的数据块(数据库或文件系统)与存储数据块不对齐,导致I/O处理效率降低。

Linux操作系统解决I/O不对齐的方法有两种:

  • 方法一:更改分区开始位置。

        在Linux系统中使用MBR格式创建分区时,建议进入fdisk命令的专家模式,设置首分区的开始位置为LUN的第二个Extent的开始位置(Extent大小默认是4MB)。下面的快速命令用在/dev/sdb上使用MBR格式创建1个分区,使用/dev/sdb的全部空间,开始扇区设置为8192,即4MB。

printf "n\np\n1\n\n\nx\nb\n1\n 8192\nw\n" | fdisk /dev/sdb

  • 方法二:直接采用GPT格式分区。

        下面的快速命令用于在/dev/sdb上使用GPT格式创建1个分区,使用/dev/sdb的全部空间,开始扇区设置为8192,即4MB。

parted -s -- /dev/sdb "mklabel gpt" "unit s" "mkpart primary 8192 -1" "print"

对于Windows Server 2003之前版本的系统中创建MBR分区时,建议使用diskpart命令,设置分区对齐。

diskpart> select disk 1

diskpart> create partition primary align=4096

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸鱼弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值