Может бездействовать NFS монтируется на нескольких клиентской производительности влияния

У нас был сервер NFS на работе, которая работала с небольшой задержкой. Однако, поскольку больше точек монтирования становилось созданным в нескольких клиентах (обслуживаемый тем же сервером), мы заметили производительность, резко останавливающуюся с большим количеством пользователей, не бывших способных смонтироваться или cd к смонтированному NFS. Моим вопросом является банка, несколько точек NFS на нескольких клиентских машинах (даже если неактивный) влияют на производительность? Если да, как это влияло бы?

3
задан 21 August 2015 в 18:44
2 ответа

Да, большее количество клиентов может повлиять на ввод-вывод. NFS имеет ограниченное количество NFS IOD, ограниченное RPCNFSDCOUNT = (расположение зависит от дистрибутива). Однако счетчик NFSD имеет точку уменьшения отдачи, в зависимости от того, сколько клиентов монтируются с асинхронной или синхронизацией и что они делают. На вашем сервере NFS вы можете увидеть их блокировку с помощью ps auxw | grep D , чтобы найти NFSD в непрерывном режиме сна. Когда это происходит, вы также можете увидеть увеличение очереди выполнения. Вы также увидите заблокированные процессы (второй столбец vmwstat). Вы упомянули, что они простаивают, но уверены ли вы в этом, просматривая статистику сети и rpcinfo?

Вы можете попробовать увеличить RPCNFSDCOUNT и перезапустить nfsd, чтобы увидеть, уменьшится ли эффект.

1
ответ дан 3 December 2019 в 07:26

Неактивные точки монтирования клиента не должны влиять на производительность вашего сервера NFS, поскольку они не вызывают операций ввода-вывода. Они используют очень небольшой объем памяти для хранения состояния монтирования.

Вы действительно должны убедиться, что эти клиенты находятся в состоянии ожидания. Нередко бывает, что на клиентском компьютере есть какой-то искатель (mlocate / slocate, индексаторы рабочего стола и т. Д.), Недостаточно умен, чтобы избежать точки монтирования NFS.

Также некоторые системы уведомлений об изменении файлов на клиентах будут автоматически опрашивать ваш сервер NFS , потому что для этой цели NFS не предоставляет механизма обратного вызова.

Что более забавно, полное сканирование может выполняться с каждой попытки завершения в оболочке, если точка монтирования появится в клиентской переменной PATH.

И так далее.

NFS в основном прозрачна для клиентов, поэтому я видел, как люди подключались к монтированию NFS - даже не подозревая об этом - бесчисленное множество.

Если ваши клиенты - Unix, попробуйте watch -n2 nfsstat -c , чтобы проверить отправленные ими операции ввода-вывода NFS.

0
ответ дан 3 December 2019 в 07:26

Теги

Похожие вопросы