本文介绍Linux系统中出现NFS性能只有几MB速度的原因及解决方法。
在Linux系统中,NFS客户端对于同时发起的NFS请求数量进行了控制,默认编译的内核中此参数值为2,严重影响性能。
您可以在安装NFS客户端后,修改同时发起的NFS请求数量,提高NFS性能。
说明
使用方法一修改完成后,需要重启服务器ECS,重启服务器可能影响您的业务使用。
如果您不想重启服务器,可以使用方法二修改同时发起的NFS请求数量。
一、方法一
1、安装NFS客户端。
2、执行以下命令,将同时发起的NFS请求数量修改为128。
echo "options sunrpc tcp_slot_table_entries=128" >> /etc/modprobe.d/sunrpc.conf
echo "options sunrpc tcp_max_slot_table_entries=128" >> /etc/modprobe.d/sunrpc.conf
说明:
您只需在首次安装NFS客户端后执行一次此操作(必须通过root用户操作),之后无需重复执行。
3、重启云服务器ECS。
reboot
4、挂载文件系统。
5、执行以下命令查看修改结果。
如果返回值为128,则说明修改成功。
cat /proc/sys/sunrpc/tcp_slot_table_entries
二、方法二
1、安装NFS客户端。
2、执行以下命令,将同时发起的NFS请求数量修改为128。
echo "options sunrpc tcp_slot_table_entries=128" >> /etc/modprobe.d/sunrpc.conf
echo "options sunrpc tcp_max_slot_table_entries=128" >> /etc/modprobe.d/sunrpc.conf
说明:
您只需在首次安装NFS客户端后执行一次此操作(必须通过root用户操作),之后无需重复执行。
3、挂载文件系统。
4、执行以下命令,再次将同时发起的NFS请求数量修改为128。
sysctl -w sunrpc.tcp_slot_table_entries=128
5、卸载文件系统。
6、重新挂载文件系统。
7、执行以下命令查看修改结果。
如果返回值为128,则说明修改成功。
cat /proc/sys/sunrpc/tcp_slot_table_entries