我们有一个负载平衡的networking应用程序,为NFS挂载的驱动器提供一些映像。
当NFS服务器closures时,最终会导致所有的Web实例closures。
目前,卷的安装有:
ip:/path/to/images /docroot/images nfs soft,intr,rw,rsize=32768,wsize=32768 0 0
我对这个卷上的一系列图像进行了攻击testing,当它停止运行时,根据apache超时值(此testing设置为600秒),请求结束超时。
我改变了挂载选项:
bg,soft,intr,rw,rsize=32768,wsize=32768,timeo=5,retrans=2,actimeo=60,retry=15
而且这样做还是比较好的,但是还是花了很长时间才能失败:第一组请求在30秒内超时,但是下一组请求在180到300之间。
我知道长期的解决办法是把它们移到S3,但是有可能在不影响性能的情况下把它缩小到5-10s。
软rw坐骑可能导致在某些情况下无声的数据损坏。“ 考虑使用滚装。 假设Linux是操作系统, NFS手册页列出了您可以更改的安装选项。 没有testing,给定一个TCP软装载(只读) timeo=1和retrans=3会导致操作在6秒内失败。 (“NFS客户端执行线性回退:在每次重新传输之后,超时会按照时间增加…”)