Mic*_*ael 3 performance ext4 ext3 hard-drive
我有一个磁盘上小文件吞吐量很高的系统,即在几秒钟内创建、写入和删除大量小文件。
是否有任何合理的 ext2/ext3/ext4 挂载选项来提高性能?我猜想,元数据日志会导致性能大幅下降。
小智 5
我有一台运行 ext4 的 Synology NAS(DS1815+、DSM 5.2),我观察到包含数千个(小)文件的目录性能不佳。
Synology NAS ext4默认没有设置dir_index扩展!我不知道 Synology 为何这样做,因为 dir_index 功能仅适用于大目录。然后它创建一个索引,使访问、计数、迭代等速度更快。
要检查是否安装了该功能,请使用tune2fs -l /dev/yourDev:
tune2fs -l /dev/vg1/volume_1 | grep features
Filesystem features: ... dir_index ...
Run Code Online (Sandbox Code Playgroud)
如果您在功能列表中没有看到 dir_index,则可以将其添加到您的 ext3/4 文件系统中:
对于 Synology NAS,步骤如下:
syno_poweroff_task -d
vgchange -ay
tune2fs -O dir_index /dev/vg1/volume_1
e2fsck -D /dev/vg1/volume_1
Run Code Online (Sandbox Code Playgroud)
dir_index 功能可用于 ext3 和 ext4,并且通常是在现代 Linux 发行版上创建 ext4 时的默认设置。然而 - 正如这款 Synology NAS 所示 - 它值得检查。就我而言,此功能将包含 100k(小)文件的 rsync 文件夹增加到 NAS,从 4Mb/s 增加到 14Mb/s。
一些引自 www.debian-administration.org
您可以执行的最有用的调整是查找文件时扫描目录索引的方式。这是由选项“dir_index”控制的。默认情况下,此功能不会启用,但您可以通过运行以下命令来添加它:
我的:~#tune2fs -O dir_index /dev/sda1
完成此操作后,您将能够看到正在使用的更新的文件系统标志:
我的:~#tune2fs -l /dev/sda1 | grep features 文件系统功能:
has_journal resize_inode dir_index filetype needs_recovery稀疏超大文件完成此操作后,您应该会发现列出包含大量文件的目录的内容变得更快,并且在目录中查找文件也更好。
归档时间: |
|
查看次数: |
9311 次 |
最近记录: |