Перейти к публикации

[Guide] SSD диск в Lineage 2


dekoler1
 Поделиться

Рекомендованные сообщения

Что такое SSD диск?
SSD - диск, где вместо вращающихся блинов используется флеш-память.
Основное преимущество таких дисков заключается во времени доступа к данным. Если в жёстком диске для перемещения головки и поиска начала сектора требуется затратить некоторое время, то в SSD такое время близко к нулю.

Основной недостаток SSD: ограниченное число циклов перезаписи, т.е. при большом числе записей диск быстро придёт в негодность.

Для чего нужен SSD?
За счёт близкого к нулю времени доступа SSD показывает высокую производительность при случайном чтении, недостижимую никакими рейд-массивами из обычных жёстким дисков. Задержка при чтении с SSD составляет 0.05 - 0.2 мс, тогда как для обычных дисков эта величина равна 5 - 15 мс.
SSD идеально подходит для хранения клиента L2, т.к. L2 считывает данных малыми порциями из случайных мест.

SSD не увеличивает fps в масс-замесах. Он лишь ускоряет прогрузку локаций при телепортах и убирает лаги при повороте камеры из-за своппинга при малом (2 гига и ниже) количестве памяти.

Как выбрать SSD?
SSD отличаются друг от друга по следующим характеристикам:
1. Контроллер и память.
Производительность SSD определяется в первую очередь контроллером.
В бюджетных моделях контроллер может выполнять достаточное число операций чтения в секунду (порядка 1000-5000), но крайне низкое число операций записи (меньше 50), поэтому такие SSD не могут быть использованы как системные, но на них можно хранить клиент L2. Некоторые контроллеры начинают сильно тормозить при одновременной записи и чтении.
К быстрым контроллерам можно отнести: Intel (предпочительнее), SandForce, Indillinx. К медленным: JMicron.
2. Тип памяти.
Память различается по принципу хранения данных: SLC (1 бит информации в 1 элементе) и MLC (2-3 бита в 1 элементе). Из-за этого диски с MLC памятью имеют больший объём при одинаковой цене, однако у MLC памяти есть недостаток: её ресурс примерно в 100 раз ниже ресурса SLC.

Чтобы выбрать SSD, необходимо решить, для каких целей он будет использоваться:

1. Только для хранения игрового клиента.
Для этих целей подходит любой SSD небольшого объёма на любом контроллере с ценой 2-4к рублей. При этом скорость чтения SSD не имеет особого значения, т.к. основную прибавку к производительности даёт низкое время доступа, а на скорость записи вообще можно не обращать внимания.

2. Для системы и клиента.
Для этих целей подойдёт практически любой современный SSD из небюджетных серий, объёмом 64-128 гбайт, цена - от 7 до 11к рублей.
Варианты покруче (3-е поколение): Intel 510, OCZ Vertex 3, Crucial C300.
Варианты чуть похуже (2-е поколение): Intel X25-M (он же Kingston M-series), OCZ Agility/Vertex 2, Corsair Force/Performance3/Extreme.
Что нельзя брать: Kingston V/V+ series, Corsair Nova и прочие бюджетные варианты из-за низкой производительности записи.
Любители экзотики могут попробовать OCZ RevoDrive.

При этом предполагается, что своп либо: а) отключен, б) находится на быстром харде, в) находится на SSD, но используется не очень активно вследствие большого количества памяти (6+ гигов).

3. Для системы, клиента и свопа.
Можно поставить SSD с SLC памятью типа 32GB Intel X25-E, однако под своп + л2 + систему его может просто не хватить. Цена на 64 гигабайтные модели начинается от 20к рублей. SSD на SLC будет нерациональным вложением денег.

В целом для оценки скорости SSD нужно в первую очередь смотреть на число операций в секунду (IOPS) при чтении/записи блоков небольшого размера, т.к. при типичной работе преобладают операции с небольшими фрагментами данных.

Почему ресурс SSD быстро вырабатывается?
10000 циклов перезаписи для MLC - это довольно большой ресурс, для 80-гигового диска это эквивалентно 800 терабайт записи, однако на практике ресурс диска вырабатывается на порядки быстрее. Это связано с тем, что внутренний размер блока, с которыми оперирует контроллер, много больше размера сектора, и может достигать 1 мегабайта. При операциях записи контроллер целиком стирает и записывает блок даже если изменился всего 1 бит.

Windows постоянно совершает записи на диск небольшими блоками (например, у меня она делает около 5-10 операций записи по 512 байт - 4 кбайт каждая, но в итоге это эквивалентно перезаписи от 2 до 10 мегабайт в секунду) - это различного вида журналирование, которое нельзя отключить или настроить так, чтобы записи совершались реже.

Можно ли ставить своп на SSD?
Мой ответ: да, однако при достаточном количестве памяти (4-8+ гигов). При малом количестве памяти (2 гига) более выгодным будет покупка памяти, а не SSD.
Винда сбрасывает в своп данные большими кусками (1+ мегабайт), поэтому, в отличие от журналирования, ресурс блоков расходуется более рационально.

Также Windows 7 сбрасывает в своп данные только тогда, когда это действительно нужно, а не просто от нечего делать.

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

Использование описанных ниже оптимизаций позволит в 2-3 раза продлить жизнь диску. Рекомендуемая операционная система - Windows 7. Все оптимизации системы сводятся к уменьшению числа ненужных операций записи на диск и отключению бесполезных служб.

Внимание! Эти оптимизации стоит делать только если система установлена на SSD. Если же система установлена на HDD, то применение нижеописанных операций не будет иметь эффекта, либо может снизить скорость загрузки системы.

1. Использование TRIM. Самая тяжёлая операция для SSD - очистка блока. Записывть данные можно только в очищенный блок. С помощью команды TRIM система при удалении файлов передаёт диску о том, какие сектора больше не используются, тем самым SSD получает возможность:
- заранее очищать блоки и фрагменты блоков, что повышает избежать деградации скорости записи со временем.
- использовать больше свободных блоков для выравнивания износа, а не протирать до дыр один и тот же блок. В отличие от обычных дисков, данные на SSD пишутся не линейно - последовательные данные могут быть записаны в совершенно разные блоки, и это никак не повлияет на производительность.


Чтобы получить преимущество от TRIM, должны быть выполнены условия: система - Win7 (линукс тоже сойдёт), диски сконфигурированы как AHCI (это настройка в биосе, если там стоит IDE - TRIM работать не будет, если организован RAID на мамке - то здесь как повезёт, зависит от прошивки и дров), дисковые драйвера - родные микрософтовские (вообще под Win7 дрова следует устанавливать только в том случае, если они автоматом не поставились или что-то криво работает).

Также стоит отметить, что максимальная производительность достигается только при режиме AHCI, поэтому если смысл включать этот режим даже если SSD - не системный диск.

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

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

Код:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters" /v EnableSuperfetch /t REG_DWORD /d 0 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters" /v EnablePrefetcher /t REG_DWORD /d 0 /f
sc stop SysMain
sc config SysMain start= disabled

fhw5.png
 
б) Отключение журнала ReadyBoot в "Data Collector Sets\Startup Event Trace Sessions" (не знаю, как это будет звучать в русской винде) в Performance Monitor (perfmon.msc /s). Задача этой службы - наблюдение за используемыми файлами в процессе загрузки системы, предзагрузка файлов, группировка их в начале диска. На обычных хардах жизненно важна (если её отключить, то система будет грузиться поначалу быстрее, но затем всё медленнее и медленнее).
dNUt.png
 
После выполнения этих двух пунктов в папку %WinDir%\Prefetcher ничего не будет писаться.

в) Можно ещё службу ReadyBoost вырубить.

3. Отключение службы индексации, она часто пишет на диск.

Код:
sc stop WSearch
sc config WSearch start= disabled
4. Отключение дефрагменации (нужно отключить автоматическую дефрагментацию в свойствах диска). Для SSD она практически не имеет смысла, т.к. во внутреннем представлении данные все равно фрагментированы.

Тем не менее, фрагментация файловой системы может со временем немного снизить производительность. В отличие от обычных дисков, фрагментация крупными блоками (>=128кб) никак не влияет на скорость чтения-записи. Но если накапливается много сильно фрагментированных файлы с фрагментами меньшего размера (32кб и меньше), то скорость чтения-записи снизится, пусть и так сильно, как на обычных дисках. Это показывают графики (для меньшего размера есть только график последовательного чтения, но при случайном чтении результаты будут те же).

Как один из вариантов решения такой проблемы - можно увеличить размер кластера файловой системы до 32кб.

5. Оптимизации файловой системы - отключение записи информации о времени последнего доступа к файлам

Код:
fsutil behavior set DisableLastAccess 1
6. Отключение режима сна - загрузка системы с SSD (от начала загрузки винды до окна ввода пароля) производится в течение 5 секунд, плюс SSD имеют небольшие объёмы - место лишним не бывает:

Код:
powercfg -h off
7. Настройка кэширования записи на Intel SSD:
http://www.thg.ru/st..._tweaks-05.html
Видимо, из-за особенностей работы буфера запись на диск производится существенно быстрее при отключённом расширенном кэшировании (галка отключения очистки буфера записи - по умолчанию галки и так нет).
Для других SSD оптимальная настройка подбирается экспериментально.

8. (Опционально) Можно перенести хранилище временных файлов на HDD - программы туда пишут часто, но читают редко (заменить значение переменной TEMP)
2UHS.png
 
9. (Опционально) Перенос кэша браузера на HDD. Например, в случае огнелиса нужно запустить его в режима редактирования профилей (все окна браузера должны быть закрыты при этом!)

Код:
firefox -p
и перенести профиль на HDD.

Мониторинг состояния диска
Мониторинг состояния диска основан на контроле уровне износа блоков через SMART инфу. Большинство SSD выдают только % оставшегося ресурса, который зачастую можно посмотреть только с помощью специальной утилиты с сайта производителя диска. Однако, мне повезло - мой диск выдавал подробную информацию. Мониторить можно с помощью программы SSD Life.

Ниже приведены результаты мониторинга для моего диска Corsair x128, используемого для L2, системы, фрапсов, с отключенным свопом.

Состояние диска на 18 октабря 2010 г. (5666 часов работы)
6Ltb.png
 
Основные интересующий нас параметры:
- D0 Average Erase Count - среднее число перезаписей блоков - 0x611 = 1553
- СD Maximum PE Count - установленное производителем максимальное число перезаписей - 0x2710 = 10000 циклов перезаписи.
Из этих значений можно сделать вывод, что диск изношен в среднем на 15%. Таким образом, он проработает ещё около 4 лет при текущей нагрузке.

Ради эксперимента я на неделю включил своп, нагрузил на неделю систему по максимуму (11 окон L2 24/7, пара окон Visual Studio, Fallout New Vegas с максимальными настройками):
g1aL.png
 
и посмотрел, что стало:
 
NSDFJHB.png
 
Статистика:
 
Параметр Было Изменение за 9 дней Время работы 5666 ч. +208 ч. Среднее число перезаписей 1553 +74 Число перезаписей в час 0.274 0.356 Число операций записи (млн.) 50.11 +2.13 Число операций записи (тыс. в час) 8.84 10.24 Записано гигабайт 616.743 +36.237 Записано мегабайт в час 111 178 Прочитано гигабайт 1231.070 +63.343 Прочитано мегабайт в час 222 311

Выводы: своп, несомненно, сокращает жизнь SSD, однако не так быстро, как считают многие.

А как же пожизненная гарантия?
Многие считают, что если на диск предоставляется гарантия 2-3 года, а в некоторых случаях даже пожизненная, то можно писать на диск сколько угодно, а потом просто обменять диск по гарантии. На самом деле это не так: под условия гарантии не попадает износ диск вследствие его нормального использования. Так что советую не рисковать.

Более того, некоторые производители уже в явном виде это указывают, вот пример:


Цитата:
ПЕРИОД, ЗАКАНЧИВАЮЩИЙСЯ В ДЕНЬ, КОГДА СТЕПЕНЬ ИЗНОСА НАКОПИТЕЛЯ, ОПРЕДЕЛЕННАЯ SMART-АТРИБУТОМ (E9) В РЕАЛИЗАЦИИ INTEL – «ИНДИКАТОРОМ ИЗНОСА НОСИТЕЛЯ» («MEDIA WEAR-OUT INDICATOR») – ДОСТИГНЕТ «НОРМАЛИЗОВАННОГО ЗНАЧЕНИЯ», РАВНОГО «1», О КОТОРОМ СООБЩИТ INTEL® SSD TOOLBOX (НАБОР ИНСТРУМЕНТОВ INTEL® SSD)

Ссылка на комментарий
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в теме...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

 Поделиться

×
×
  • Создать...