Оптимальная Установка диска для SQL Server

Для просто единственного dd или bonnie ++ (необработанная скорость, линейная запись) необходимо стать достаточно близкими к проводной скорости.

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

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

3
задан 17 September 2009 в 00:07
5 ответов

Необходимо использовать RAID 1 или 10, если дисковое пространство не является основной проблемой, потому что они намного быстрее, чем RAID 5, специально для записей; также, RAID 5 довольно бесполезен только с 3 дисками, это становится все более полезным большее, которое получают массивы.

Я также избегал бы использования единственного диска ненабега для tempdb: если это повредится, то Вы ничего не потеряете, но Ваш сервер снизится, пока Вы не сможете заменить его.

Я настроил бы диски в 3 RAID 1 объем 2 дисков каждый, один для данных, один для журналов транзакций и один для tempdb; это оставляет диск, который можно использовать для RAID том резервного копирования или как глобальное горячее резервирование; я постарался бы не делать объем данных RAID 5 один, поскольку это сделает его медленнее.

Если Вы нуждаетесь в большем пространстве данных и можете справиться с потерей tempdb, можно использовать 4 диска в RAID 10 для данных, 2 диска в RAID 1 для журналов транзакций и одном отдельном диске для tempdb.

Вам вряд ли будут нужны больше чем 2 RAID 1 диск для журналов транзакций: они не должны расти слишком много, если Вы создаете резервную копию их регулярно; и Вы должны.

4
ответ дан 3 December 2019 в 05:20
  • 1
    У меня создалось впечатление, что RAID-1 (зеркало) имеет более медленные записи, чем RAID-5, потому что RAID-1 только имеет скорость записи самого медленного участника (записи всегда параллельно обоим участникам), в то время как RAID-5 может распределить параллельные записи независимо из-за распределения четности. Мы просто установили RAID-50, чтобы получить все возможное от 8 дисков для доступа к базе данных. –  hurikhan77 17 September 2009 в 01:08
  • 2
    RAID 5 всегда имеет запись наверху из-за проверок четности. RAID 1 медленнее, чем RAID 10 (который на самом деле может параллелизировать записи), но они оба быстрее, чем RAID 5. –  Massimo 17 September 2009 в 01:14
  • 3
    Хороший аппаратный RAID-контроллер должен смочь повторно вычислить четность, не читая все диски. Я предполагаю, что загрузка ЦП не является частью вычисления в такой установке. Объединенный с файловой системой, оптимизированной для дорожки, измеряют, это должно привести к очень хорошей производительности (по крайней мере, RAID-50). I' ve вырыл через многие статьи, которые все пришли к выводу использовать RAID-5/50 для рабочих нагрузок базы данных или даже всестороннего плеера. –  hurikhan77 17 September 2009 в 01:22
  • 4
    +1 для предложения не использовать диск не-RAID для tempdb. –  Evan Anderson 17 September 2009 в 01:33
  • 5
    Я wouldn' t говорят " RAID 5 вполне бесполезен только с 3 disks" [мой акцент], но это действительно имеет 50%-е пространство наверху (худший случай), но еще намного ниже, чем 100% наверху зеркального отражения. –  Richard 17 September 2009 в 12:43

RAID 10 более быстр, чем RAID 5. Кроме этого, спецификация не выглядит слишком плохо.

1
ответ дан 3 December 2019 в 05:20
  • 1
    I' m не верный RAID 1+0 является опцией. Я думаю server' s контроллеры поддерживают RAID 0, 1 или 5. И Диски SAS являются not' t опция, к сожалению. –  Dave Beer 16 September 2009 в 22:44
  • 2
    Жалость, потому что диски SAS имеют большую способность приказать очередь запроса не последовательно, но в порядке, что они появляются на текущем обороте диска. Таким образом, 4 случайных чтения, которые являются друг после друга на подложке диска, только возьмут 1 об/мин для получения, тогда как на диске SATA это берет 4. Я знаю то, что Вы имеете в виду о SAS, хотя, кто хочет заплатить 800$ за диск на 74 ГБ –  Mark Henderson♦ 17 September 2009 в 00:10
  • 3
    +1 для обучения меня что-то ;) –   17 September 2009 в 10:26
  • 4
    @Dave: Если диски SAS не являются опцией, как насчет VelociRaptors---большая часть увеличения производительности, но не как дорогой. –  Richard 17 September 2009 в 12:44
  • 5
    Да, у меня есть VelociRaptor в моей машине Dev. (Заставленный попробовать SSD затем, потому что мой ноутбук покрывается пузырями с одним), я don' t обеспечивают аппаратные средства (другая команда делают это), но попытается предоставить рекомендацию. –  Dave Beer 17 September 2009 в 16:46

Я также рекомендовал бы RAID10. Единственный недостаток - Вы, нуждаются в минимуме 4 дисков на массив RAID10, таким образом, Вы застрянете без выделенного массива для Tempdb и на резервных копиях сервера (предполагающий помещение файлов дб и файлов журнала каждый на их собственном массиве).

Таким образом, Вы будете иметь:

RAID1 (2 диска) = ОС и двоичные файлы SQL; RAID10 (4 диска) = файлы DB; RAID10 (4 диска) = Файлы журнала; Tempdb =?; На сервере копируют =?

0
ответ дан 3 December 2019 в 05:20
  • 1
    Вы действительно don' t нужен RAID 10 для журналов транзакций, поскольку они записаны в и считаны из последовательно; Вы не извлекли бы пользы кроме большего пространства, который TL обычно don' t потребность. –  Massimo 16 September 2009 в 22:40
  • 2
    Вероятно, don' t нужен RAID10 для ОС и двоичных файлов SQL также. Однажды they' ре в памяти они won' t быть затронутым очень. –  Mark Henderson♦ 17 September 2009 в 00:08
  • 3
    Возможно, that' s причина он предложил RAID 1 для ОС ;-) –  Massimo 17 September 2009 в 01:17

Считайте это Kendal Van Dyke, не только имеет много ссылок на большие статьи, но и объясняет различные возможные установки и последствия производительности.

Я сделал бы что-то вроде этого, но это зависит в Ваших нагрузочных способностях сервера и возможностях оборудования.

  • Аппаратный набег 5 для данных
  • Аппаратный набег 5 для журналов
  • Совершите рейд 5 (или 1) для Tempdb
  • Совершите рейд 1 для резервных копий на сервере
2
ответ дан 3 December 2019 в 05:20

Я испытал бы желание сделать следующее:

  • Совершите рейд на 10 Пользовательских файлов данных Базы данных (4 диска)
  • Совершите рейд на 1 Пользовательский файл Журнала транзакций базы данных (2 диска)
  • Совершите рейд на 1 Базу данных tempdb и Системные базы данных (2 диска)

Резервное копирование через сеть к другому серверу, если это возможно.

Пойдите 64 бита по крайней мере с 8 ГБ RAM.

0
ответ дан 3 December 2019 в 05:20

Теги

Похожие вопросы