前几天我想知道为什么不将所有 htdocs 相关文件放在 RAM 磁盘中。
在我看来,这将大大缩短磁盘查找和读取文件所花费的时间,大大提高性能——特别是对于高并发命中率的高网站。
是否有一个包可以以透明的方式实现读取操作,同时确保写入操作安全地存储在磁盘上?如果不是,是否有理由不这样做?
前几天我想知道为什么不将所有 htdocs 相关文件放在 RAM 磁盘中。
在我看来,这将大大缩短磁盘查找和读取文件所花费的时间,大大提高性能——特别是对于高并发命中率的高网站。
是否有一个包可以以透明的方式实现读取操作,同时确保写入操作安全地存储在磁盘上?如果不是,是否有理由不这样做?
是的,它是操作系统的一部分。
所有现代操作系统都有所谓的文件系统缓存。这是 RAM 的一部分,未被内核用于存储最近访问的文件的任何应用程序使用。它还用于存储最近写入的文件,直到它们被定期刷新到磁盘。
当应用程序需要 RAM 时,它会被内核透明地放弃。
因为现代操作系统已经根据需要将内容缓存在内存中,并且如果让其继续进行,通常可以更有效地管理此过程。您对 RAM 磁盘所做的一切就是创建您自己的此缓存的手动版本。
由于大多数网站都是动态的 - 加速访问静态数据 (htdocs) 并没有多大帮助。但大多数生产站点确实使用Memcached / MemcacheDB之类的技术。