文件系统调优

目的

通过调整文件系统相关参数配置,可以有效提升服务器性能。

方法

以xfs文件系统为例,解释文件系统调优步骤。

建议在文件系统的mount参数上加上noatime、nobarrier两个选项,其中数据盘以及数据目录以实际为准。

1
mount -o noatime,nobarrier /dev/sdb /data
  1. 一般来说,Linux会给文件记录了三个时间,change time、modify time和access time。
    • access time指文件最后一次被读取的时间。
    • modify time指的是文件的文本内容最后发生变化的时间。
    • change time指的是文件的inode最后发生变化(比如位置、用户属性、组属性等)的时间。

    一般来说,文件都是读多写少,而且我们也很少关心某一个文件最近什么时间被访问了。所以,我们建议采用noatime选项,文件系统在程序访问对应的文件或者文件夹时,不会更新对应的access time。这样文件系统不记录access time,避免浪费资源。

  1. 现在的很多文件系统会在数据提交时强制底层设备刷新cache,避免数据丢失,称之为write barriers。但是,其实我们数据库服务器底层存储设备要么采用RAID卡,RAID卡本身的电池可以掉电保护;要么采用Flash卡,它也有自我保护机制,保证数据不会丢失。所以我们可以安全的使用nobarrier挂载文件系统。
    • 对于ext3、ext4和reiserfs文件系统可以在mount时指定barrier=0。
    • 对于xfs可以指定nobarrier选项。

    openEuler不支持nobarrier选项。