4

Почему при использовании Linux быстрее иметь больше первичных разделов?

Пожалуйста, приведите несколько реальных примеров; Я знаю некоторые теоретические причины, но не очень хорошо их понимаю.

2 ответа2

4

Основной причиной может быть кэширование, поскольку Linux индивидуально кэширует файловые системы.

Наличие одного диска с одним разделом означает, что все данные в файловой системе конкурируют друг с другом в кеше. Следовательно, спул-данные и двоичные файлы, пользовательские файлы и веб-сервер, все используют этот большой кеш.

Если происходит большая передача данных (загрузка, потоковая передача фильмов и т.д.), Они практически сбрасывают один кеш, поэтому часто используемые двоичные файлы и т.д. Исчезают из кеша и должны быть перечитаны с диска, что может занять некоторое время. Так как происходит большая передача данных, значит, диск сильно загружен!

Если у вас есть более одного раздела, каждый из них кэшируется индивидуально. Следовательно, у вас есть шансы, что двоичные файлы все еще кэшируются, даже если кэш веб-сервера сильно загружен.

Однако это зависит от используемой стратегии кэширования. Как я слышал, сегодня существует несколько различных стратегий кэширования, но, к сожалению, у меня не было времени углубиться в это глубже.

Может быть и вторая причина, однако сегодня я думаю, что это уже не так актуально:

Поддержание более крупных структур в ядре требует больше оперативной памяти. В старые времена, когда файловой системы ОЗУ было не так много (скажем, 256 МБ), она могла становиться настолько большой, что вы не могли их fsck без включения подкачки. Сегодня это обычно не проблема.

Однако более крупные структуры требуют более частой очистки страниц. Меньшие разделы имеют меньшую структуру, поэтому вероятность того, что более часто используемые части все еще присутствуют в ядре, выше.

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

Но сегодня, имея практически достаточно памяти, я не думаю, что это имеет какое-либо значение.

Третья причина может быть связана с лифтами, скажем, как Linux обращается к данным.

Linux пытается реорганизовать доступ к диску так, чтобы головка диска работала более или менее как лифт, который пытается использовать некоторый оптимизированный путь, идущий вверх и вниз.

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

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

Примечание об истечении срока действия:

С появлением всех этих новых файловых систем, таких как BTRFS и ZFS, все открытия за последние 30 лет или около того умного разбиения становятся недействительными. Эти файловые системы больше не имеют понятия "раздел", поэтому я думаю, что разделение вашего диска станет чем-то устаревшим.

Уже сегодня с LVM вам больше не нужно просто разбивать диск, вместо этого вы динамически отображаете тома где-то еще. Тома могут быть разбиты на несколько частей и даже распределены по нескольким дискам. И предприятия часто используют SAN, где у вас больше нет ничего похожего на настоящий физический диск (с точки зрения компьютера).

Так что это правда, что в некоторых определенных приложениях (устройствах с необработанной базой данных) настройка диска может быть несколько важна для повышения скорости доступа. Однако, за исключением таких редких случаев, не стоит пытаться найти супер-умную, лучшую и идеальную схему разделения на все времена, так как это только ускорит процесс в области с низким%, если вы заметите какой-либо эффект на все.

Правильная компоновка вашего приложения (Grid-вычисления и т.д.) Предлагает гораздо больше возможностей для улучшения скорости. Или говорить за потребительский рынок:

Не покупайте свой компьютер, где вы покупаете яблоки (те, которые вы едите). Имея всего несколько долларов, вы часто можете получить систему, которая работает быстрее и зачастую требует меньше энергии - что окупится в долгосрочной перспективе.

Так что придерживайтесь любой схемы разбиения, которая вам нравится, и просто купите немного умнее - это больше всего улучшит производительность ;)

2

Есть много вещей, которые могут повысить производительность, когда вы разделяете диск на несколько разделов, а не храните все файлы в одном большом разделе. Некоторые причины:

  • внешние цилиндры дают более высокую скорость передачи, чем внутренние цилиндры. Таким образом, если вы поместите ваши наиболее часто используемые файлы в раздел, охватывающий эти цилиндры, они будут восстановлены быстрее. Или, если вы хотите более быструю загрузку, поместите системный раздел в эти цилиндры.
  • Отделение постоянно меняющихся папок (/tmp, /var, /home) от системных папок (/, /usr), то есть размещение их в отдельных разделах, может предотвратить фрагментацию системных файлов (например, при обновлении системы) и, таким образом, гарантируем, что у вас будет хорошая производительность при запуске системы и приложений.
  • Соображения о том, к каким файлам чаще обращаются и размещают их в разделах, расположенных рядом с каждым, могут привести к лучшей производительности из-за меньшего перемещения головы.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .