使用NFS与Apache的优点和缺点

我正在进入一个环境,在这个环境中,他们使用NFS访问存储在与前端Apache服务器位于同一networking上的服务器上的PHP脚本和静态Web内容。 只有一台前端Apache服务器通过NFS访问这些文件,所以它不是负载平衡前端Apache盒子的情况。

我们正在虚拟化Apache和NFS服务器。 如果在这种情况下仍然使用NFS是有意义的,或者只是将所有的Web内容存储在与Web服务器相同的机器上,我们都不同意。 你们都在想什么?

感谢您的任何意见。

如果您需要在文件系统级别进行多客户端访问,则只需要NFS。 既然你不需要多客户端访问,我真的不会推荐NFS作为最好的select。

即使你有多个Apache服务器,我仍然不推荐使用NFS作为在机器之间共享你的代码的手段。 自动部署工具可以轻松地将代码轻松地分发到尽可能多的位置。 NFS 可能是用户提供的资产的最佳select,但是它仍然不像最初显示的那样干净(我对这个主题的看法在这个其他答案中是可用的)。

目前,我们正在NetApp FAS2050上运行nginx和Apache提供的NFS共享数据,而不存在任何性能问题。 NFS的缺点似乎是目录查找相对较大的目录(> 200个文件)非常慢,我build议您将nginx作为caching从Apache服务器中取出,以减less对SAN的性能影响。

听起来就像你提出的情况一样,在这种情况下使用NFS几乎没有什么好处。

您将从单一来源,多服务器types的设置中获得最大的收益(尽pipe您可以通过其他方式处理这些问题)。 对于静态页面,尤其是如果缓冲区中有东西存在,性能不应该成为一个大问题。 您可能会碰到许多机器碰到PHP脚本的性能影响。 这将取决于你的环境。

为了给你一个想法,它可能是有好处的:我们有一个Netapp文件pipe理器,我们将卷作为CIFS分发给Windows客户端(营销人员)和NFS分发给Apache服务器,这些服务器在4个服务器之间进行负载平衡。 我们将所有的Apache服务器安装为只读模式,市场营销人员可以直接从Dreamweaver或其他任何使用方式进行所需的修改,然后直接保存到Windows共享中。

我应该提到,这个设置只用于一次性的营销活动。 我们的主站点使用CMS进行妥善pipe理,并通过适当的工作stream程。

有些情况下使用NFS可能是有道理的。 一种情况是,如果本地磁盘子系统的性能不是最佳的,但是您的NFS存储位于高性能磁盘arrays上。 在所有其他情况下,您只是将您的networking添加为失败点,没有任何好处。