0

有一个同事提出的解决方案,为永远(几乎永远不会)更新的文件设置缓存层。目前,Ruby 应用程序必须从数据库中获取内容、呈现页面并为每个请求提供服务,但在 Akamai CDN 中缓存图像/css/js 除外。

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

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

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

虽然,我不认为这是一个好的解决方案,并且不喜欢实现它并查看 Varnish 以缓存大多数访问的文章,但我想知道其他人对提议的解决方案与 varnish 的看法。

问题:

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

我想提前感谢您的建议。

4

1 回答 1

0

你可以试试 GlusterFS。

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

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

于 2013-04-24T14:51:58.453 回答