【发布时间】:2011-10-30 10:02:57
【问题描述】:
我正在创建一个在 Linux 服务器上运行的 Web 应用程序。应用程序不断地访问一个 250K 的文件——它将它加载到内存中,读取它并将一些信息发送回用户。由于这个文件一直被读取,所以我的客户建议使用 memcache 之类的东西将其缓存到内存中,大概是因为它会使读取操作更快。
但是,我认为 Linux 文件系统可能已经将文件缓存在内存中,因为它被频繁访问。那正确吗?在您看来,memcache 会提供真正的改进吗?还是它会做 Linux 已经在做的事情?
我对 Linux 和 memcache 都不是很熟悉,所以如果有人能澄清这一点,我将不胜感激。
【问题讨论】:
-
没有“Linux 文件系统”。 Linux 支持许多文件系统。
-
听起来
mmap可能会更好,并将内存全部留给内核。 -
和往常一样,当问这种问题时,会有“你做错了”之类的答案。你不知道项目的细节,所以请不要吝啬我的光顾。
-
基于猜测甚至来自 SO 的知情意见进行优化几乎总是浪费时间。分析应用程序,查看文件访问是否是瓶颈。可能不是,但这里没有人可以肯定地告诉你。我会说 250k 听起来像是需要担心的内存量非常小。
标签: linux filesystems memcached