суббота, 11 октября 2014 г.

Настройки серверов HP серии DL 580 и DL 980 для MS SQL Server


Best Practice for Tuning Microsoft SQL Server on HP Proliant DL980


Очень часто компании, которые имеют деньги, приобретают высокопроизводительные и дорогие сервера для MS SQL Server, но используют их не более 10%. Причины могут быть разные. В итоге сервера простаивают, потребляют энергию, а также могут происходить “странные” события: вроде дорогой сервер, а имеет проблемы. Источником данных проблем является то, что производитель создает режимы энергопотребления, которые включаются, когда сервер не нагружен. Результатом данного режима для MS SQL Server могут быть совсем разные.

В данной статье хотелось бы рассказать о проблеме с которой пришлось столкнуться, а также сделать вольный перевод Best Practice for Tuning Microsoft SQL Server on the HP Proliant DL980.

Итак, сначала часть перевода данной статьи.

Я б хотел остановиться именно на настройках оборудования, без конфигурирования MS SQL Server, поэтому будет перевод только части.

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

 
• System Options > Processor Options > Hyper-threading > Enable or Disable (see section on Hyper-threading below)
• Power Management Options > HP Power Profile > Custom
• Power Management Options > HP Power Regulator > OS Control
• Power Management Options > Advanced Power Management Options > Minimum Processor Idle Power State > C1E (reduces power when possible, for performance + power savings) or NO C-states (when performance is highest priority; power saving functionality is ignored)
• Advanced Options > Advanced Performance and Tuning Options > HW Prefetch > Enabled
• Advanced Options > Advanced Performance and Tuning Options > Adjacent Sector Prefetch > Enabled
• Advanced Options > Advanced System ROM Options > Address Mode 44-bit > Enabled (this setting is for Windows Server 2008 R2 only, and mandatory if ≥ 1TB RAM. On Windows Server 2008 SP2, this setting should remain Disabled, since that OS uses a 40-bit address mode.)

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

OS/ОС

В документы описаны общие настройки  ОС для сервера, так и некоторые особенности для ОС Windows 2008 и Windows 2008R2, Windows 2012. Необходимо учесть количество поддерживаемых ядер каждой ОС: Windows 2008 64 ядер, Windows 2008R2 256 ядер, Windows 2012 640 ядер.
Настройки для Window всех версий:
·         Не запускать ОС с параметром /debug .
·         Отключить все ненужные сервисы
 

Windows Server 2008 SP2  и Windows Server 2012 /R2
 
Некоторые настройки ОС влияют на производительность. Ниже предоставлены рекомендации HP, которые ссылаются на рекомендации Майкрософт.

Поменять настройки в реестре:

• Allocate PFN database sparsely and with small pages:

\HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\ Memory Management\LargePageMinimum = REG_DWORD 0xffffffff

• Verifier.sys - Disable random verification of drivers for debugging:

(normally disabled by default, but verify; performance is adversely affected if enabled) \HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\ Memory Management\DontVerifyRandomDrivers = REG_DWORD 0x00000001

• Disable PartMgr/FltMgr/VolMgr Ioctl counters: (implement only if no applications use these counters) \HKLM\SYSTEM\CurrentControlSet\Services\PartMgr\ EnableCounterForIoctl = REG_DWORD 0x0

• Disable NTFS creation of 8.3 filenames: (make sure this is compatible with applications) \HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\ NtfsDisable8dot3NameCreation = REG_DWORD 0x00000001

Параметры энергопитания, необходимо выставить «Высокая производительность»:

1. Выберите Start > Control Panel.
2. Выберите  View > Large Icons.
3. Запустите Power Options.
4. Выбирите High Performance.

Настройки сети

Сетевой SQL трафик обычно небольшой, обычно при максимальных нагрузках на ms sql нагрузка на сетевые адаптеры не полная. HP рекомендует не превышать 15000 пакетов в секунду на гигабитный адаптер. Вы может использовать NIC team как опцию, но не как средство повышения производительности.

Настройка receive side scalling (RSS)

RSS средство для доставки сетевого траффика с одиночного сетевого адаптера на различные CPU сохраняя последовательность доставки TCP пакетов. Это позволяет улучшить масштабируемость посредством изменения количество и диапазон процессоров для сетевого адаптера.

RSS масштабирование включено по умолчанию в Windows Server 2008R2 и в Windows Server 2012/R2. Для возможности работы с RSS, сетевые драйвера должны быть написаны с учетом работы с RSS. Подробности работы RSS и о количестве поддерживаемых CPU в ОС описаны в документации к ОС на сайтах Майкрософт.

Если по какой-то причине RSS отключен, то вы можете включить следующей командой:

netsh interface tcp set global rss=enabled

Либо, для большинства драйверов можно управлять настройками через графический интерфейс, откройте Windows Device Manager, во вкладке Advanced Properties сетевого интерфейса, выполните следующие шаги:

1. Open the Device Manager and expand Network Adapters.
2. Right-click the adapter you want to configure, and select Properties.
3. On the Advanced tab, locate the Receive-side Scaling property and verify that the value is enabled. If not, enable it.
4. Click OK and exit the Device Manager.
Включение опции для уменьшения нагрузки обработки

Оригинальное название данной опции Checksum Offloads. Опции Checksum Offloads, TCP Segmentations (Large Send) и Interrupt Coalescing есть во всех современных сетевых адаптерах и предназначены для уменьшения нагрузки на процессоры и увеличения пропускной способности сети.
Чтобы проверить, что опция Checksum Offload включена для отправки\получения TCP\IP протокола сетевого адаптера, сделайте следующие шаги:

1. Откройте  Device Manager and найдите Network Adapters.
2. Правая кнопка мыши на нужном адаптера, выберите Properties.
3. Вкладка Advanced tab, выберите свойство Checksum Offload и проверьте, что установлено значение  Tx/Rx TCP/IP Checksum.
4. Нажмите OK and и выйдете из Device Manager.
5. Если были изменены настройки, то необходим рестарт сервера. 

На этом настройки оборудования закончены, я упомянул только те, которые считаю наиболее важные и которые использую.  В статье вы найдете дополнительную информацию и настройки. Там же есть настройки MS SQL Server, по их бы не стал применять, особенно включение всех указанных флагов, а изначально протестировать или иметь конкретные проблемы. 

Из опыта работ с серверами  DL 980, и проблемы которая была:

Был куплен данный сервер, установлен MS SQL Server 2008R2 в кластерном режиме. Использование данного сервера было меньше 10 процентов от его возможности. После некоторого времени стали появляться странные проблемы в работе MS SQL Server   именно ошибки 605 и 824.
Так же в System Log операционной системы было много ошибок вида:
Уровень – Warning, Код события -47
Текст предупреждения:

A corrected hardware error has occurred.

Component: Memory

Error Source: Corrected Machine Check

 
The details view of this entry contains further information.

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

Для выключения энергоэкономии, необходимо поставить следующие настройки:
  -> Minimum Processor Idle Power Package State
        -> No Package  
   -> Minimum Processor Idle Power State
        -> No C-states

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

Удачных настроек Вам!

Комментариев нет :

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