顯示頁面舊版反向連結Fold/unfold all回到頁頂 本頁是唯讀的,您可以看到原始碼,但不能更動它。您如果覺得它不應被鎖上,請詢問管理員。 ====== 針對 NFS Server 效能調教 ====== * NFS Server 有 4G RAM * OS : Alpine Linux 3.22 ===== sysctl ===== * /etc/sysctl.d/nfsd.conf<file> # ============================================ # 網路參數優化 # ============================================ # TCP 緩衝區 (128MB max) net.core.rmem_max=134217728 net.core.wmem_max=134217728 net.ipv4.tcp_rmem=4096 87380 67108864 net.ipv4.tcp_wmem=4096 65536 67108864 # 網路佇列 net.core.netdev_max_backlog=5000 net.ipv4.tcp_max_syn_backlog=8192 # TCP 效能優化 net.ipv4.tcp_window_scaling=1 net.ipv4.tcp_timestamps=1 net.ipv4.tcp_sack=1 net.ipv4.tcp_no_metrics_save=1 net.ipv4.tcp_moderate_rcvbuf=1 net.ipv4.tcp_congestion_control=cubic # ============================================ # 檔案系統與記憶體管理 (4GB RAM 最佳化) # ============================================ # 寫入快取設定 # 4GB * 20% = 0.8GB 寫入快取 (非常充裕) vm.dirty_ratio=20 # 4GB * 15% = 600MB 開始背景清理 vm.dirty_background_ratio=15 # 快取清理時機 vm.dirty_expire_centisecs=1500 # 15 秒後髒頁視為過期 vm.dirty_writeback_centisecs=500 # 每 5 秒執行一次清理 # 記憶體管理 vm.swappiness=10 # 盡量避免 swap vm.vfs_cache_pressure=50 # 平衡 inode/dentry 快取回收 # 透明大頁面 (對 NFS 有幫助) vm.nr_hugepages=128 # ============================================ # 檔案系統參數 # ============================================ fs.file-max=2097152 fs.aio-max-nr=1048576 # ============================================ # NFS/RPC 特定參數 # ============================================ # TCP slot 表 (提升併發能力) sunrpc.tcp_slot_table_entries=128 sunrpc.tcp_max_slot_table_entries=256 </file> * 更改後執行 <cli>sysctl -p /etc/sysctl.d/nfsd.conf</cli>讓設定生效 ===== nfs conf ===== * /etc/conf.d/nfs<file> : # 新增以下設定 # Number of servers to start RPCNFSDCOUNT=12 # Options for rpc.mountd RPCMOUNTDOPTS="" # Options for rpc.statd RPCSTATDOPTS="" </file> * 修改後重啟 nfs <cli>rc-service nfs restart</cli> ===== 在 nfs client 端使用 fio 進行測試 ===== * 掛載路徑 Exp. /mnt/t * 順序寫入測試<cli> fio --name=seq-write \ --directory=/mnt/t \ --rw=write \ --bs=1M \ --size=2G \ --numjobs=1 \ --time_based \ --runtime=60 \ --group_reporting </cli> * 順序讀取測試<cli> fio --name=seq-read \ --directory=/mnt/t \ --rw=read \ --bs=1M \ --size=2G \ --numjobs=1 \ --time_based \ --runtime=60 \ --group_reporting </cli> {{tag>nfs}} tech/nfs-ps-tuning.txt 上一次變更: 2025/10/29 12:14由 jonathan