最近我参加了一个本地用户组会议,会议主持人指出 NTFS IO 堆栈的最大吞吐量为 1 GBps。他通过同时将两个大文件从同一逻辑卷复制到不同的逻辑卷(即 [a] 是源,[b] 是目标 1,[c] 是目标 2)并注意到传输速率徘徊在 500 MBps 左右来证实他的说法。他重复了几次这个测试,并指出底层存储子系统是闪存(以确保我们没有怀疑存储速度慢)。
我一直在尝试验证这一说法,但找不到任何记录。我怀疑我搜索了错误的搜索词(“1GBps NTFS 吞吐量”、“NTFS 吞吐量最大值”)。我感兴趣的是 IO 堆栈是否真的限制为 1GBps 吞吐量。
编辑
澄清一下:我不认为演讲者有意暗示 NTFS故意地有限(如果我也暗示了这一点,我很抱歉)。我认为曾是暗示它是文件系统设计的功能。
答案1
即使假设你的意思是GBps
而不是Gbps
......
我不知道有哪个文件系统有实际的throughput limit
。文件系统只是关于如何存储和检索文件的结构。它们使用元数据、结构、命名约定、安全约定等,但实际吞吐量限制由底层硬件本身定义(通常是许多相关硬件的组合)。
比较不同的文件系统及其影响可以实现底层硬件的性能,但这并不是文件系统直接施加的限制,而是系统整体性能的“变量”。
选择部署一个文件系统而不是另一个文件系统通常与底层操作系统、服务器/应用程序、底层硬件以及柔软的管理员的专业领域和熟悉程度等因素。
==================================================================================
技术资源和引用
NTFS 性能因素
影响 NTFS 卷性能的许多因素都由您决定。您可以选择一些重要元素,例如 NTFS 卷的类型(例如 SCSI 或 IDE)、速度(例如磁盘的 rpm 速度)以及卷包含的磁盘数量。除了这些重要组件之外,以下因素也会显著影响 NTFS 卷的性能:
- 簇和分配单元大小
- 经常访问的文件的位置和碎片级别,例如主文件表 (MFT)、目录、包含 NTFS 元数据的特殊文件、分页文件以及常用的用户数据文件
- 无论是从头创建 NTFS 卷还是从现有 FAT 卷进行转换
- 卷是否使用 NTFS 压缩
- 是否禁用不必要的 NTFS 行为
在多磁盘卷中使用更快的磁盘和更多驱动器是提高性能的明显方法。其他性能改进方法更加晦涩难懂,与 NTFS 卷配置的细节有关。
不幸的是,无法对所讨论的文件系统进行直接的性能比较,因为它们并非都在同一平台上可用。此外,由于可用数据必然来自不同的硬件平台,很难区分文件系统的性能特征和它运行的硬件平台的性能特征。
https://superuser.com/questions/411720/how-does-ntfs-compression-affect-performance
答案2
我非常怀疑是否存在与以下因素相关的数据传输瓶颈:文件系统, 因为文件系统不要命令实施细节这将严格限制表现. 给定司机对于特定硬件配置上的文件系统当然会出现瓶颈。
答案3
我会非常如果这是真的,那真是太令人惊讶了。让我们看看所有可能减慢文件系统速度的因素:
- 物理介质(磁盘、SSD)
- 连接至该介质 (sas、sata、fcal)
- 碎片化
- 错误的锁定算法或其他代码问题
- CPU 和内存速度
最常见的限制因素是您的物理介质。旋转锈蚀是慢的. 举例来说这个真的是新磁盘最大速度为 6 Gbps(是 Gbps,不是 GBps!)。当然,使用 raid 1 设置会加快速度。当然,你永远无法实现这一点,因为寻道会降低你的性能。所以让我们使用SSD你说呢?哦,看看这个,又是 6Gb。
然后是连接:sas(最快的本地存储)高达 6 Gbps,而 FC 高达 16Gbps。
你确定你的演示使用了如此高端、最先进的硬件吗?
如果您觉得:有趣!您可能遇到了第 3 种情况,并且您的文件系统需要进行一些优化。或者更可能是您的驱动程序和应用程序占用了您的 CPU(5)。如果上述情况都不是,那么您可能遇到了 NTFS 中的实际性能问题,请将其报告给微软。
即便如此:这不是人为的限制,不是为了让你的生活更痛苦而设置的。文件系统不会故意限制传输速度,但会受到硬件所能提供的任何限制。
答案4
没有必要去推测 NTFS 是否存在 1 GBps 的限制——现代固态硬盘已经超越了这一点. 测试台是Windows桌面。