---
title: 文件系统调优
description: "通过调整文件系统相关参数配置，可以有效提升服务器性能。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/MongoDB/kunpengdbstune_05_0007.html
sourcePath: /source/zh/kunpengdbs/ecosystemEnable/MongoDB/kunpengdbstune_05_0007.html
indexId: c252fb58c7808fa3da3ae7e65011ef64b1f38005b990a188b18696c9844ec85873
---
# 文件系统调优

#### 目的

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


#### 方法

以XFS文件系统为例，解释文件系统调优步骤。


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

```
mount -o noatime,nobarrier /dev/sdb /data
```

1. 一般来说，Linux会给文件记录以下三个时间：

  - access time指文件最后一次被读取的时间。
  - modify time指的是文件的文本内容最后发生变化的时间。
  - change time指的是文件的inode最后发生变化（比如位置、用户属性、组属性等）的时间。
通常情况下，我们对文件的操作更多是读取而不是写入，而且我们很少需要关注一个文件最近被访问的时间。因此，我们建议使用noatime选项，这样文件系统在程序访问文件或文件夹时，不会更新对应的访问时间。文件系统不再记录访问时间，可以避免不必要的资源浪费。
2. 许多文件系统在数据提交时会使用write barriers来强制刷新Cache，以避免数据丢失。但是，其实我们数据库服务器底层存储设备要么采用RAID控制卡，RAID控制卡本身的电池可以掉电保护；要么采用Flash卡，它也有自我保护机制，保证数据不会丢失。在这种情况下，我们可以安全地使用nobarrier挂载文件系统，以避免write barriers的性能损失。

  - 对于ext3、ext4和reiserfs文件系统可以在mount时指定barrier=0。
  - 对于XFS可以指定nobarrier选项。
openEuler不支持nobarrier选项。
