mishimaの日記: NFSサーバについて俺は勘違いをしていた! 2
必要そうな情報のURL
http://d.hatena.ne.jp/kurita1/20070730
http://linuxjf.sourceforge.jp/JFdocs/NFS-HOWTO/performance.html
http://sugi.nemui.org/diary/200412.html
http://www.asahi-net.or.jp/~AA4T-NNGK/nfs.html
http://lxr.free-electrons.com/source/fs/nfsd/stats.c
RHEL5.xのNFSサーバ。
とりあえず /etc/sysconfig/nfs で RPCNFSDCOUNT=32 を設定してみた。
そして /etc/init.d/nfs restart を実行。
こんなスクリプトを作った
#!/bin/sh
#
# nfstune NFS server performance tuning.
#
# chkconfig: 345 91 09
# description: NFS server performance tuning.
# probe: false
case "$1" in
start | restart )
for i in rmem_default rmem_max wmem_default wmem_max ; do
eval tmp_$i=$( cat /proc/sys/net/core/$i )
echo $(( 8 * 1024 * 1024 )) > /proc/sys/net/core/$i
done
/etc/init.d/nfs restart
for i in rmem_default rmem_max wmem_default wmem_max ; do
eval echo \$tmp_$i > /proc/sys/net/core/$i
done
RETVAL=0
;;
stop | status | reload )
RETVAL=0
;;
*)
echo $"Usage: nfs {start|stop|status|restart|reload}"
RETVAL=3
;;
esac
exit $RETVAL
なんでスクリプトつくるん? (スコア:1)
/proc/sys/net/core/のいろいろにパラメータ放り込むだけなら
/etc/sysctl.confに値を設定するもんだけど、
わざわざスクリプトを作ったのは何か理由があるん?
Re:なんでスクリプトつくるん? (スコア:1)
NFSのサーバプロセスのみ rmem_default rmem_max wmem_default wmem_max の各パラメータを変更したい(その他のプロセスは変更したくない)のです。
その場合、
1) パラメータを変更
2) 変更したいプロセス(この場合はnfsd)を再起動
3) パラメータを元に戻す
をやればいいのですが、毎回手作業で実施するわけにもいかないのでスクリプト化です。
# mishimaは本田透先生を熱烈に応援しています