硬盘空间会影响性能吗?

Ste*_*nes 3 hardware performance

几年前我看到一个演示,说硬盘驱动器在 < 50% 满时具有最佳性能,并且对于繁忙的服务器,您希望驱动器的使用率小于 80%。原因是轨道是从内向外写入的,并且内部轨道的访问,尤其是随机访问,比外部轨道更快。旋转延迟较低。

另一方面,对于今天的缓存,有时在 SQL Server 等产品中进行预读,更长的外部轨道,没有跟踪移动的轨道,可能是不利因素。

这是真的?是否有理由在现代硬盘系统上保持可用空间?Windows 与 *Nix 不同吗?

Chr*_*ell 8

根据我的经验,担心外部轨道与内部轨道不再值得付出努力。考虑到其他影响性能的因素(RAID、缓存、文件系统碎片等),性能差异太小了。

但是,要直接回答您的问题,肯定仍然有理由在现代硬盘(尤其是旋转(非 SSD)磁盘)上保留相当数量的可用空间,这就是文件碎片和寻道时间。当有大量可用空间时,可以顺序写入文件,从而无需多次查找即可读取它们。这使得文件的检索速度比磁盘头必须四处寻找以获取文件的小块要快得多。

这篇文章/博客文章更针对文件碎片而不是磁盘性能,但它提供了我发现的更好的文件碎片解释之一,以及为什么可用空间会影响它:为什么 Linux 不需要碎片整理?

磁盘填满的越多,越多的文件(尤其是大文件)将变得碎片化并且读取和访问速度变慢。这也是 Linux 文件系统保留一部分空间(通常为 5%)仅供 root 使用的原因。这个保留空间在紧急情况下非常有用(因此用户不能完全填满磁盘并导致问题),但主要是为了在磁盘填满时减少磁盘碎片。在处理非常大的文件时,如数据库中常见的那样,可以通过预先分配数据文件(假设数据库(或其他应用程序)支持它)来减少碎片问题。

在这些磁盘非常大且相对便宜的时代,很少有让文件系统达到容量的有效理由。在性能很重要的情况下更是如此。