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
После применения данных настроек, количество
ошибок уменьшилось, но не исчезли совсем,
что является в пределах нормы.
Подробно описано здесь.
Удачных настроек Вам!
Комментариев нет :
Отправить комментарий