Ale*_*lex 13 linux performance xfs filesystems ext4
这本书“的HBase权威指南”指出,
不建议在单个服务器上安装不同的文件系统。这可能会对性能产生不利影响,因为内核可能必须拆分缓冲区缓存以支持不同的文件系统。据报道,对于某些操作系统,这可能会对性能产生破坏性影响。
这真的适用于Linux吗?我从未见过超过 300 MB 的缓冲区缓存,而且大多数现代服务器都有千兆字节的 RAM,因此在不同文件系统之间拆分缓冲区缓存应该不是问题。我还缺少其他东西吗?
Hub*_*rio 14
拆分缓冲区缓存是有害的,但它的影响很小。我猜它太小了,基本上不可能测量。
您必须记住,不同挂载点之间的数据也是不可共享的。
虽然不同的文件系统使用不同的分配缓冲区,但分配内存并不是为了坐在那里看起来很漂亮。来自slabtop
运行 3 个不同文件系统(XFS、ext4、btrfs)的系统的数据:
OBJS 主动使用 OBJ 大小 slab 对象/slab 缓存大小名称 42882 42460 99% 0.70K 1866 23 29856K shmem_inode_cache 14483 13872 95% 0.90K 855 17 13680K ext4_inode_cache 4096 4096 100% 0.02K 16 256 64K jbd2_revoke_table_s 2826 1136 40% 0.94K 167 17 2672K xfs_inode 1664 1664 100% 0.03K 13 128 52K jbd2_revoke_record_ 1333 886 66% 1.01K 43 31 1376K btrfs_inode_cache (许多其他对象)
如您所见,任何真正大的缓存的利用率都超过 90%。因此,如果您并行使用多个文件系统,则成本大约相当于损失 5% 的系统内存,如果计算机不是专用文件服务器,则成本更低。
我不认为有负面影响。我经常在同一服务器设置上将 ext3/ext4 与 XFS(甚至 ZFS)混合在一起。考虑到我正在运行的硬件,我不会将我的表现描述为低于预期。
[root@Lancaster ~]# mount
/dev/cciss/c0d0p2 on / type ext4 (rw)
/dev/cciss/c0d0p7 on /tmp type ext4 (rw,nobarrier)
/dev/cciss/c0d0p3 on /usr type ext4 (rw,nobarrier)
/dev/cciss/c0d0p6 on /var type ext4 (rw,nobarrier)
vol2/images on /images type zfs (rw,xattr)
vol1/ppro on /ppro type zfs (rw,noatime,xattr)
vol3/Lancaster_Test on /srv/Lancaster_Test type zfs (rw,noatime,xattr)
Run Code Online (Sandbox Code Playgroud)
您是否担心特定场景?哪些文件系统会起作用?你在什么发行版?
归档时间: |
|
查看次数: |
965 次 |
最近记录: |