Apache 因 NFS 不可用而超时

Apache 因 NFS 不可用而超时

我想问一下,有没有办法为挂起的文件系统设置超时。

例如,如果 NFS 变得陈旧或者出现任何类型的问题(这与调整 NFS 无关,我对调整 apache 更感兴趣),那么 apache 就会出现负载急剧上升的问题。

我想抑制这种现象。

我已经看过

EnableMMAP 和 EnableSendfile

但我希望有更多方法来调整 Apache。

谢谢布伦特

答案1

抱歉,您正在寻找的解决方案在另一座城堡中。

如果 NFS 挂载(或文档根目录所在的任何文件系统)停止响应,Apache将要陷入深深的麻烦,无论对 Apache 进行多少调整都无济于事。

您需要集中精力监控这些事件,以便在出现问题时收到电子邮件/短信/其他消息。并且,如果 NFS 有问题,请以某种方式修复它或切换到其他方法来满足您的文档根目录需求。

答案2

我知道你说你想调整 Apache,而不是 NFS。问题是,任何进程(Apache 或其他任何进程)在磁盘 IO 上阻塞都将永远不会返回。

对于 NFS,您实际上可以在挂载点控制此行为。请查看man nfs

如果您的 NFS 服务器已hard挂载,如果服务器停止响应,客户端将无限期地等待响应。结果是您的 Apache 进程将挂起。hard如果您正在覆盖挂载点进行写入并且关心您的数据(您希望写入数据的进程知道它是否/何时完成),则挂载几乎总是首选。

如果您的 NFS 服务器已soft安装,那么即使 NFS 服务器完全瘫痪,客户端也可能最终返回。将此与 NFS 安装选项结合使用timeo可指定重新传输超时。

如果运行队列中有许多进程或 IO 阻塞,如您所说,负载会非常高。允许缓慢或挂起的 NFS 操作通过挂载超时soft可以缓解这种情况。但是,您仍然需要设计一种方法来优雅地将这些故障传播到客户端。

相关内容