Grz*_*cki 5 linux filesystems ext4 btrfs xattr
我想向文件和目录添加n长度l为 的xattrs可能会产生成本:fd
我想知道这些费用是多少?例如,如果标记所有文件会显着影响存储和性能?什么是临界值,低于它可以忽略不计,然后是锤击文件系统?
对于这样的分析,显然最好考虑 xattr 的限制 -> 我们可以在不同的文件系统上放置多少和多少位的 xattr。
(如果您觉得方便,欢迎包含有关其他文件系统的位,而不仅仅是 ext4 和 btrfs - 谢谢)
对于 ext4(我不能代表 BtrFS),存储小的 xattrs 直接适合 inode,并且不会影响路径解析或目录迭代性能。
“小”xattr 的可用空间量取决于 inode 的格式化大小。较新的 ext4 文件系统使用 512 字节的默认 inode 大小,较旧的 ext4 文件系统使用 256 字节,inode 本身和 xattr 标头使用约 192 字节。其余的可用于扩展属性,尽管通常已经有用于 SELinux 和其他可能的扩展属性(“ getfattr -d -m - -e hex /path/to/file”将转储所有扩展属性到一个 inode 上)。任何不适合此空间的 xattr 将存储在外部块中,或者如果它们大于 4KB 并且您有新内核(4.18 或更高版本),它们可以存储在外部 inode 中。
mke2fs -I <size>如果 xattr 性能对于您的工作负载(例如 Samba)很重要,则可以使用“”选项在格式化时更改 inode 大小,以为 xattr 提供更多空间。
| 归档时间: |
|
| 查看次数: |
794 次 |
| 最近记录: |