Медленные линии включают в себя модемы, ISDN и другие соединения на дальние расстояния.
Этот раздел базируется на знании об используемых протоколах, а не на настоящих экспериментах. Пожалуйста дайте мне знать, если вы попробуете сделать это :-)
Первая вещь которую вы должны помнить, что NFS -- медленный протокол. Использование NFS в большинстве своем подобно использованию протокола kermit для переноса файлов. Это -- медлено. Почти все быстрее чем NFS. FTP быстрее. HTTP быстрее. rcp быстрее. ssh быстрее.
Вы все еще хотите попробовать его в работе? Ok.
Параметры по умолчанию для NFS установлены для довольно быстрых линий с малым временем запаздывания. Если вы будете использовать эти настройки для линий с высоким временем запаздывания, то это приведет к выдаче сообщений об ошибках, прерыванию операций, система может притворяться, что файлы короче, чем они есть на самом деле и странно работать в других случаях.
Первое, что вам необходимо сделать -- это не использовать опцию монтирования soft. Это вызовет возвращение программному обеспечению сигналов об ошибках при таймаутах. В основном обычное программное обеспечение не слишком хорошо обрабатывает такие ошибки. Это хороший способ получить странные сбои. Вместо этого используйте опцию монтирования hard. Когда активна опция hard, то таймауты вызывают бесконечные попытки возобновления вместо прерывания работы ваших программ. Это то, что вам действительно нужно.
Следующая вещь, которую нужно сделать -- это поэкспериментировать с опциями монтирования timeo и retrans. Они описаны в справочной странице nfs(5), здесь приводится выдержка из нее:
timeo=n Величина в десятых долях секунды до посылки первой ретрансляции после таймаута RPC. По умолчанию эта величина равна 7 десятых секунды. После первого таймаута, время таймаута удваивается после каждого таймаута, пока не будет достигнута величина максимального таймаута равна 60 секундам, или произойдет достаточно ретрансляции, вызвав главный таймаут. Затем если файловая система смонтирована с опцией hard, то каждый новый таймаут каскадно запускается с начальным значением в два раза больше, чем при предыдущем каскаде, кроме того удваиваясь на каждой ретрансляции. Максимальный таймаут всегда равен 60 секундам. Наилучшая общая производительность может быть достигнута увеличением таймаута при монтировании на загруженной сети, к медленному серверу, или сквозь несколько маршрутизаторов.