大容量 RAM 能改善文件系统的写入 IO 吗?

大容量 RAM 能改善文件系统的写入 IO 吗?

我们的服务器上有数亿个小文件,总共约 500 GB。我正在寻找一种方法来加快它们的创建速度。如果我为此获得更多 RAM,会有什么不同吗?比如说,32 GB 而不是 8 GB。我知道操作系统使用一些 RAM 空间作为 FS 缓存(默认为 50%),但它会增加每秒的写入次数吗?

Linux,EXT4。

谢谢!

答案1

  1. 如果文件位于同一个文件夹中,或者同一个文件夹中有许多文件,请对它们进行整理(尽量限制为每个文件夹 4-5,000 个文件)。
  2. 尽量避免填满硬盘(磁盘上有约 20% 的可用空间)以避免碎片化
  3. RAM 有助于计算,可以同时处理大量数据,因此,如果更多的 RAM 有帮助,那实际上取决于你如何使用这些文件……对于 I/O 和文件操作,我们必须更多地关注前端总线和硬盘速度(“RPM”),以及硬盘缓冲区大小和访问速度。

答案2

简单的答案是NO,RAM不会影响速度小的正在写入的文件。

复杂的答案是:取决于在给定时间内写入的数据量。如果超过 ~4GB?(基于系统占用 4 GB 的估计)在任何给定时刻(高 I/O 数量),那么您将受益于增加的 RAM,因为写入缓冲区的使用更为密集。 http://en.wikipedia.org/wiki/Data_buffer

计算机科学:在请求写入磁盘时,数据会写入 RAM。文件复制可能会完成,但操作系统将继续将数据从 RAM 刷新到磁盘。

这个答案是在考虑 Linux 的情况下写的。

在您的情况下,通过以下方式可以实现更快的速度:

  • SATA III 或 SATA II 主板连接到 SSD,HDD 不会受益太多,除非它高于 7200rpm(+150MB/s 速度)(这是主板升级)
  • 更好的 CPU,从而更快地处理写入 I/O
  • SSD + 至少 SATA II。文件写入速度最有影响的因素。

与往常一样,任何升级都会受到系统中最薄弱的环节的阻碍,如果您购买了 SSD 但运行的是英特尔奔腾 CPU,请记住这一点。

相关内容