У меня есть процесс ETL, который открывает файлы из монтирования NFS для их обработки. Количество файлов, открываемых одновременно, можно настроить.
У меня нет доступа к серверу NFS.
Какие хорошие служебные программы оболочки я могу использовать на клиенте, чтобы определить, насколько эффективно я использую общий ресурс NFS? Я хочу максимизировать свою пропускную способность (сбалансированную с учетом переполнения моего ETL слишком большим объемом данных) и, очевидно, я не хочу создавать слишком большую нагрузку на сервер NFS.
Насколько много я могу делать от клиента, вместо того, чтобы входить на сервер NFS и запускать там утилиты мониторинга ввода-вывода?
Я бы начал с nfsstat и iostat.
Например, вы можете посмотреть:
watch -n1 'nfsstat -c'
iostat -n 1 1
Вы также можете найти телезритель полезно, в зависимости от того, что ваш процесс ETL делает с вашими данными.
Согласно следующему руководство, его основное использование имеет форму:
pv access.log | gzip > access.log.gz
Где это даст вам знать, сколько данных завершено, а сколько осталось.
Вы также можете связать команды через него следующим образом:
pv -cN source access.log | gzip | pv -cN gzip > access.log.gz