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