Apache2'caching'/'保存在内存'一个静态的HTML页面(有什么可以获得?)

我在Amazon EC2微型实例上运行一个拥有广受欢迎的99%静态html页面(1 MB)的站点,每天接收大约35,000次综合浏览量。 该网站只是每3-4小时左右更换一次,它已经在运行mod_deflate获取页面大小为100KB左右。

我想知道是否有任何方法告诉Apache2该页面应该在任何时候在内存中?

或者它已经以某种方式(运行ubuntu,ext3)由apache2或磁盘caching

(半)技术点

linux(以及其他类似Unix的系统,可能还有其他任何服务器的后续操作系统)会将最近/经常使用的文件数据保存在RAM中。 在Linux中,这被称为“页面caching ”。

对于目录,linux也保留最近查找的文件名,最近在“ dentry ”(目录条目)中列出的目录。 这种方式一次又一次地查找相同的名称不会导致磁盘访问,甚至不需要通过特定的文件系统层代码(比如ext3)。

因此,如果经常使用文件,linux会将文件数据和元数据保存在RAM中。 这发生在内核中,所以:

  • Apache和其他Linux进程不需要做任何事情;
  • 不同的进程共享linux文件系统cachingfunction; 如果某些程序需要读取另一个程序最近读取(或写入)的文件,则它将受益于caching。

如果每个程序都必须实现自己的磁盘caching,那么每个程序都会占用内存,即使它们需要相同的文件。 (如果某个进程被换出,那么它会变得麻烦,它的RAM文件caching!)

但是文件经常被完全读取的事实,因此完全被caching在RAM中,并不意味着重复读取只访问这个文件不会导致任何磁盘访问:因为像其他Un * x一样的Linux有一个文件最后的概念访问时间atime ),则必须定期更新磁盘上的文件元数据,除非您closures在fs级别更新访问时间(选项noatime )。 在这之前,您必须确保没有任何东西依赖于正确的访问时间。 这对于个人电脑来说大多是个问题,在这种情况下, atime更新可以防止磁盘睡眠,但在服务器上可能并不重要。 我提到,主要是为了完整。

真正的问题

你有没有分析你的系统? 你有没有确定具体的性能问题?