有哪些好方法可以监控 NFS 共享客户端的 IO 吞吐量和负载?

有哪些好方法可以监控 NFS 共享客户端的 IO 吞吐量和负载?

我有一个 ETL 进程,它从 NFS 挂载打开文件以进行处理。同时打开的文件数量是可配置的。

我没有 NFS 服务器的 shell 访问权限。

我可以在客户端上使用哪些好的 shell 实用程序来确定我使用 NFS 共享的效率?我想最大化我的吞吐量(平衡 ETL 中过多的数据),显然,我不想给 NFS 服务器带来太大的压力。

与必须登录到 NFS 服务器并在那里运行 IO 监控实用程序相比,我可以从客户端执行多少操作?

答案1

我将从 nfsstat 和 iostat 开始。

例如,您可能想观看:

watch -n1 'nfsstat -c'
iostat -n 1 1

答案2

您可能还会发现管道查看器有用,取决于您的 ETL 流程对数据执行的操作。

按照以下教程,其基本用法形式为:

pv access.log | gzip > access.log.gz

它会让你知道有多少数据已经完成以及还剩下多少数据需要完成。

您还可以通过它链接命令,如下所示:

pv -cN source access.log | gzip | pv -cN gzip > access.log.gz

相关内容