Как настроить SSD для повышения производительности в Ubuntu.

В Интернете есть много советов для настройки вашего SSD в Linux,есть отдельные сообщения о том, что работает, а что нет. Я провёл  собственные тесты с несколькими конкретными настройками, чтобы показать вам реальное различие.

Тесты

Для теста диск , я использовал Phoronix Test SuiteЭто бесплатное приложение и имеет хранилище для Ubuntu, так что вам не обязательно собирать всё с нуля до запуска тестов. Я тестировал свою систему сразу после установки свежой 64-разрядной Ubuntu Natty с использованием параметров по умолчанию для файловой системы ext4.

Моя система спецификации была следующей:

  • Процессор AMD Phenom II quad-core@3.2 ГГц
  • Материнская плата MSI 760GM E51
  • 3,5 Гб оперативной памяти
  • Интегрированная AMD Radeon 3000  с 512MB RAM
  • Ubuntu Natty

И, конечно же, SSD которую я  использовал для тестирования, была на 64 дисков OCZ Onyx .

Известные Tweaks

Есть довольно много изменений, которые рекомендуется сделать при переходе на SSD. После фильтрации некоторых старых изменений, я сделали краткий перечень изменений, которые по умолчанию не включены в дистрибутивов Linux  для SSD. Три из них связаны с редактированием монтирования файловых систем, так что обратно вверх, прежде чем продолжить с помощью следующей команды:

sudo cp/etc/fstab /etc/fstab.bak

Если что-то пойдет не так, вы всегда можете удалить новый файл Fstab и заменить его копией резервного копирования. Если вы не знаете что это такое, или вы хотите освежить в памяти, как это работает, взгляните на  Что такое Fstab d Linux и Как это работает?

Время доступа

Вы можете помочь увеличить срок службы SSD за счет сокращения, записи на диск операционной системой . Если вам нужно знать, когда каждый файл или каталог получали доступ, вы можете добавить эти два варианта в  /etc/fstab монтирования файловых систем:

 noatime,nodiratime

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

Включение TRIM

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

discard

Это хорошо работает для файловой системы ext4, даже на стандартных жестких дисках. Вы должны иметь версию ядра, по крайней мере 2.6.33 или выше, если вы используете Maverick или Natty, или Backports с включенной Lucid. Хотя это не специально улучшения начального тестирования,но он должен сделать систему работающей лучше в долгосрочной перспективе и поэтому он в  моём списке.

Tmpfs

Системный кэш хранится в  /tmp. Мы можем сказать, Fstab смонтировать это в памяти в качестве временной файловой системы, так что ваша система будет касаться жесткого диска меньше. Добавьте следующую строку в нижней части /etc/fstab монтирования файловых систем в новую строку:

tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

Сохраните смонтированную файловую систему,что бы запомнить эти изменения.

Переключение ввода-вывода Планировщики

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

Во-первых,вызовите список, какие у вас есть доступные варианты  с помощью следующей команды, заменив «X» на корневой диск:

cat /sys/block/sdX/queue/scheduler

Моя установка на  sda . Вы должны увидеть несколько различных вариантов.

Если у вас есть крайний срок, вы должны использовать его,так как он дает вам дополнительные настройки дальше по линии. Если нет, то вы должны быть в состоянии использовать NOOP без проблем. Мы должны сказать ОС использовать эти параметры после каждой загрузки системы, поэтому мы должны отредактировать файл rc.local.

Мы будем использовать nano, так как мы знакомы с командной строкой, но вы можете использовать любой другой текстовый редактор,который вам нравится (Gedit, Vim и т.д.).

sudo nano /etc/rc.local

Над линией  «exit 0» , добавьте эти две строки, если вы используете срок:

echo deadline > /sys/block/sdX/queue/scheduler

echo 1 > /sys/block/sdX/queue/iosched/fifo_batch

Если вы используете NOOP, добавьте следующую строку:

echo noop > /sys/block/sdX/queue/scheduler

Еще раз, вместо «X» ,укажите букву соответствующего диска для установки. Посмотрите на все, чтобы убедиться, что они хорошо выглядят.

Затем, нажмите CTRL + O, чтобы сохранить, а затем CTRL + X, чтобы выйти.

Перезапуск

Для того чтобы все эти изменения вступили в силу, необходимо перезагрузиться. После этого вы должны иметь всё в порядке. Если что-то пойдет не так и вы не можете загрузиться, вы можете систематически отменить каждое из указанных выше действий, пока вы не сможете снова загрузиться. Вы даже можете использовать LiveCD или LiveUSB для восстановления, если хотите.

Изменения Fstab будет нести по жизни ваши установки, даже выдержит модернизацию, но ваш изменённый файл rc.local , должен быть повторно перезаписан ,после каждого обновления (в разных версиях).

Сравнительный анализ результатов

Для выполнения тестов, я запустил  набор тестов для диска. Верхнее изображение каждого теста до настройки конфигурации ext4, а нижнее изображение после настроек и перезагрузки. Вы увидите краткое объяснение того, что тест измеряет, а также интерпретации результатов.

Операции с файлами

Этот тест сжимает 2 Гб файл со случайными данными и записывает его на диск. SSD ухищрения здесь показаны примерно с 40% улучшения.

IOzone имитирует производительность файловой системы, в данном случае в письменном виде файла 8GB. Опять же, почти на 50% больше.

Здесь файл для чтения 8GB . Результат почти такой же, как без изменения ext4.

AIO- stress асинхронно проверяет вход и выход, с помощью тестового файла размером 2 ГБ и 64 КБ  записи. Здесь есть почти 200% прироста производительности по сравнению с vanilla ext4!

Операции с маленькими файлами

Создаётся база данных SQLite  и PTS добавляет 12 500 записей в ней. SSD ухищрения здесь действительно замедлили производительность примерно на 10%.

Тест Apache Benchmark  случайного чтения мелких файлов,дал около 25% прироста производительности после оптимизации наших SSD.

PostMark имитирует 25000 файлов, 500 одновременно в любой момент времени, с размером файла, от 5 до 512. Это имитирует веб-и почтовые серверы очень хорошо, и мы видим 16% прирост производительности после настройки.

FS-Марк просматривает 1000 файлов с общим размером 1 Мбайт, а также может полностью записать и прочитать в предопределенное количество времени. Наши хитрости получили увеличение производительности, опять же, с меньшим размером файла.Около 45% увеличение с ext4 .

Доступ к файловой системе

Dbench тесты файловой системы требуют от клиентов, вроде как Samba делает вещи. Здесь производительность  ext4 режется на 75%,с крупным шагом назад в изменениях, которые мы сделали.

Вы можете видеть, что,как только число клиентов растет, увеличивается расхождение производительности .

Этот тест зависит от AIO библиотеки доступа к ядру. у нас есть 20% улучшение здесь.Во время написания 64 Мб данных с 32 потоками, у нас еще есть 75% прироста производительности.

Компиляция имитирует влияние возраста в файловой системе, как представляется, манипулируя ядром деревьев (создание, компиляцию, исправления, и т.д.). Здесь вы можете получить существенную выгоду через начальное создание моделируемого ядра, около 40%.

Резюме

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

Имейте в виду, что это было именно с Ubuntu Natty 64-бит. Если в ваша система или SSD отличаются, ваш пробег в тестах может варьироваться. Хотя в целом, кажется, что Fstab и IO планировщик корректировки мы сделали долгий путь к повышению производительности, так что, наверное, стоит попробовать на собственном стенде. А какие Ваши собственные ориентиры и хотите ли Вы поделиться своими результатами? У Вас другие настройки,которые я не знаю? Поделитесь в комментариях!

1 комментарий к записи “Как настроить SSD для повышения производительности в Ubuntu.”

  • free business checking florida:

    I relish, lead to I discovered exactly what I was taking a look for. You have ended my 4 day lengthy hunt! God Bless you man. Have a great day. Bye

Оставить комментарий