我们有大型 NFS 服务器(约 50TB 数据,数百万个文件)。12 个 6TB SATA 磁盘,带 SSD 缓存(MegaRAID CacheCade)。CentOS 7。1 个 Xeon E5-2620
我们的问题是,有来自 6 台服务器的约 100 个进程连接到此 NFS 服务器,导致负载过大。混合读/写操作。
我们正在尝试找到一种方法来了解导致负载的原因 - 哪个客户端(IP)、哪个导出以及希望是哪个目录。
答案1
Wireshark(及其工具集)是你的朋友。
在命令行上运行:
$ tshark -n -f 'port 2049' -q -Y rpc.replystat -Tfields -E header=y -e frame.time -e frame.number -e ip.src -e ip.dst -e nfs.main_opcode -e rpc.time
这将为您提供 nfs 包。捕获一段时间并将输出重定向到文件中:
```$ tshark .... > dump ^C
$ awk'{打印$8}'转储|排序|uniq-c|排序-n-k 1-r```
这将为您带来顶级客户。