Я пытаюсь интерпретировать результаты выполнения следующей команды
iostat -mnhyc
Это дает следующие
Filesystem: rMB_nor/s wMB_nor/s rMB_dir/s wMB_dir/s rMB_svr/s wMB_svr/s ops/s rops/s wops/s
/NFS_mount_path/
376.46 0.00 0.00 0.00 0.98 0.00 132.80 129.60 0.00
Сколько данных на самом деле считывается с моего монтирования NFS? Что мне делать: rMB_nor / s или rMB_svr / s? На странице руководства для iostat указано, что rMB_nor / s - это количество МБ, прочитанное приложениями через вызов read (2), а rMB_svr / s - это количество МБ, прочитанное с сервера клиентом NFS через запрос NFS READ. Но я не совсем понимаю, чем они отличаются. В чем разница между NFS READ и read (2)? Разве все операции чтения для монтирования NFS не должны быть ЧТЕНИЕМ NFS? Разве я не должен ожидать, что rMB_svr / s будет больше или равно rMB_nor / s?
Если данные доступны в кэше файловой системы, то системный вызов read получит данные, но на сервер NFS не будут отправляться запросы чтения. Это может произойти, когда приложение читает одни и те же блоки несколько раз, или когда пользователь открывает один и тот же файл несколько раз. Вы можете очистить кеш файловой системы и снова посмотреть результат iostat:
# echo 3 > /proc/sys/vm/drop_caches