通过NFS共享1500万个静态文件

时间:2013-04-19 00:44:17

标签: html caching static varnish nfs

来自同事的建议解决方案为从未(几乎从未)更新过的文件设置缓存层。目前,Ruby应用程序必须从DB获取内容,呈现页面并为每个请求提供服务,但在Akamai CDN中缓存images / css / js除外。

当网站上有5K用户时,性能很糟糕。

建议的解决方案是一次生成1500万个静态页面(4T),存储在NFS服务器上的单个目录中,然后在9个Apache / Phusion-Passenger服务器之间共享,并将Apache设置为从挂载的NFS共享提供静态内容。

除了最初的1500万个文件外,每天还会生成8K静态文件并添加到NFS

虽然,我不相信这是一个很好的解决方案,并且不愿意实现这一点并且考虑使用Varnish缓存大多数访问过的文章,我想知道其他人对提议的解决方案与清漆的看法。

问题:

  • 可以将1500万个文件(4T)存储在Linux(CentOS)的单个目录中
  • 可以通过NFS共享这么大的目录吗?那会稳定吗
  • 可以将1500万个文件存储在哈希目录中吗?还是坏主意?
  • NFS共享是否有最大文件限制?

我想提前感谢你的建议。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用GlusterFS。

首先按类别对文章进行分区。然后将它们存储到GlusterFS目录,如: /mnt/articles/category1/201304/20130424/{a lot of files}

我有一个6节点的GlusteFS集群来存储日志文件。目前它有8T +文件,每天增加30G +没有任何问题。