Я сейчас прохожу курс “от 0 до Linux админа” здесь и столкнулся с проблемой. Суть в том, что домашние директории пользователей в Linux, которые находятся на удалённом сервере через NFS, работают медленно и с задержками. Есть ли какой-то способ улучшить производительность и уменьшить задержки на машине, где домашняя директория пользователя находится на NFS-разделе?
Мы используем среду AD / LDAP для аутентификации и получения основной информации о пользователе (например, путь к домашней директории POSIX, оболочка, UID и GID). Каждый рабочий компьютер настроен с помощью autofs для автоматического монтирования NFS-раздела, когда кто-то заходит в систему. Производительность в целом приемлемая, но всё-таки не такая, какой бы мне хотелось. Проблема возникает именно у пользователей с домашними директориями на NFS (не локальными пользователями).
Например, Google Chrome начинает работать очень медленно при первом запуске, и соединение с веб-сайтами также медленное в течение первых 30 секунд-минуты. Потом становится терпимо. Может быть, у кого-то есть советы, как улучшить ситуацию?
О проблемах с производительностью NFS в Linux
Привет, народ! Короче, у меня тут возникла дичь с удаленными домашними директориями на NFS. Все работает, но тормозит, как будто я на старом компе играю. Думал, что с производительностью можно что-то сделать, и вот что я попробовал.
Попробовал сделать, но не вышло
-
Настройки Mount Options: Сначала я врубил noatime
, чтобы не записывать время доступа к файлам. Это вроде как должно помочь, но, увы, производительность не поднялась. Я вообще не заметил разницы.
-
Настройки напоминалок и выползлок: Читал про настройку rsize
и wsize
— мол, нужно поднять до 65536. Так и сделал. Но, видимо, у меня на серваке железо потяжелее и его это не спасло. Не уходит, не уходит!
-
Тестирование с iostat
: Запустил iostat
, чтобы посмотреть, что там происходит. Оказалось, что диск не дышит, а CPU на месте. Но уменьшить задержки я не смог, хоть тресни. Ждал, простоял!
-
DNS и кеширование: Потом полез в настройки DNS и кеширования, но тоже не сработало. Отключал резолвер, что он не тратил время на DNS-запросы, но все равно ждал, как дурак.
-
Кэширование на стороне клиента: Странно, но даже кэширование на стороне клиента не дало толку. Попробовал async
, но как только включил, все пошло не так и начались глюки.
Так что, по сути, я попробовал кучу идей, но в итоге ничего не сработало. Мне по-простому, все как-то не укладывалось в голове!
Что помогло
Зато на днях наткнулся на курсы на Yodo. Там довольно много полезной инфы про Linux и оптимизацию, и в итоге нашел советы, которые реально помогают. Так что, если кто тоже с такой ерундой сталкивается, на здоровье!
Вот такие пироги, ребята. Буду дальше ковырять это дело. Если у кого есть еще идеи — пишите, буду рад любым советам!