Amazon EC2上的Web服务器的NFS服务器和客户端,高负载平均值

时间:2013-11-17 00:33:07

标签: php ubuntu nfs

我在Amazon EC2上有这个架构,一个NFS服务器和一个NFS客户端,我在服务PHP和Django网站(nginx,uwsgi,php-fpm)的客户端上工作得很好。

当我在第一个NFS的映像上启动另一个NFS客户端实例时,我遇到了一个问题,当我加载一个PHP站点(wordpress)时,我开始在浏览器上获得超时。当我关闭其中一个NFS客户端实例时,事情又开始起作用了。我怀疑存在文件锁定问题,我已经尝试了一整夜,一直在搜索谷歌并尝试了nolock选项,但我无法解决它。

我看到的是,NFS挂载文件夹看起来很好并且显示了所有文件,但是当我连接第二个EC2实例时,NFS服务器和两个客户端开始获得高负载平均值,CPU使用率非常低。

以下是NFS服务器上/ etc / export的内容

/export/www 172.0.0.0/8(rw,async,no_subtree_check)
/export/config/nginx/sites-available 172.0.0.0/8(rw,async,no_subtree_check)
/export/config/nginx/sites-enabled 172.0.0.0/8(rw,async,no_subtree_check)
/export/config/uwsgi/apps-available 172.0.0.0/8(rw,async,no_subtree_check)
/export/config/uwsgi/apps-enabled 172.0.0.0/8(rw,async,no_subtree_check)

以下是NFS客户端上/ etc / fstab的内容

LABEL=cloudimg-rootfs   /        ext4   defaults        0 0
/dev/xvdb       /mnt    auto    defaults,nobootwait,comment=cloudconfig 0       2
#172.31.0.62:/export/www        /var/www        nfs     auto    0 0
172.31.0.62:/export/www /var/www        nfs4    rw,noatime,nodev,async,hard,intr,rsize=32768,wsize=32768 0 2
172.31.0.62:/export/config/nginx/sites-available /etc/nginx/sites-available     nfs4    rw,noatime,nodev,async,hard,intr,rsize=32768,wsize=32768 0 2
172.31.0.62:/export/config/nginx/sites-enabled  /etc/nginx/sites-enabled        nfs4    rw,noatime,nodev,async,hard,intr,rsize=32768,wsize=32768 0 2
172.31.0.62:/export/config/uwsgi/apps-available /etc/uwsgi/apps-available       nfs4    rw,noatime,nodev,async,hard,intr,rsize=32768,wsize=32768 0 2
172.31.0.62:/export/config/uwsgi/apps-enabled /etc/uwsgi/apps-enabled   nfs4    rw,noatime,nodev,async,hard,intr,rsize=32768,wsize=32768 0 2

谢谢你。

更新:

看起来它不仅与PHP FPM有关,我甚至可以通过刷新静态html页面来复制它。每当服务器开始卡住时,运行nfsstat显示callsauthrefrsh会很快上升。

1 个答案:

答案 0 :(得分:0)

Amazon EC2上的NFSv4存在问题,我不知道为什么,但我雇用的系统管理员告诉我他也听说过EC2上的NFS问题。他发现的是NFS并发读取速度非常慢,超过150秒就像20MB,写入速度相当不错@ 7mb / s

所以真正的解决办法是退回到NFSv3,一切都恢复正常。

希望这能帮助有类似问题的人。