Налаштування Windows Server 2008/2003 x64 для обслуговування SQL Server 2008, Інші СУБД, Бази даних, статті

Ця стаття – вільна інтерпретація рекомендацій: Microsoft, IBM, HP, Dell, QLogic, LSI, EMC, ACER, Bull, Fujitsu, Hitachi, NEC і Unisys.

Оновлення установки Windows

Після установки Windows Server 2008 x64, встановіть останній сервісний пакет оновлень (Service Pack), обов’язково встановіть виходили після сервісного пакета виправлення безпеки і останні версії драйверів і апаратних прошивок.

Налаштування файлу підкачки Windows

Розмір файлу підкачки Windows в разі розміщення на сервері тільки SQL Server не відіграє такої важливої ​​ролі, як в типових сценаріях. SQL Server намагається уникати перегортання. Розмір файлу підкачки можна вибрати невеликим, щоб його було достатньо для формування міні-дампів. Якщо сервер також обслуговує додатки, які потребують файлі підкачки, розмір його варто вибирати в півтора рази більше, ніж розмір фізичної пам’яті сервера, але не більше 50Гб. У разі монопольного володіння ресурсами SQL Server, розміщувати файл підкачки можна на тому ж диску, де базується операційна система. Мінімальна активність роботи з файлом підкачки не створюватиме конкуренцію іншим завданням. У Windows Server 2003 є кілька пропонованих варіантів настройки файлу підкачки, він може налаштовуватися жорстко, може бути відсутнім взагалі або його розмір буде управлятися операційною системою. В останньому випадку, Windows створить файл підкачки, розмір якого на один Мегабайт буде перевищувати розмір фізичної пам’яті сервера. Такий вибір обумовлений тим, що рівно стільки місця необхідно для створення повного дампа пам’яті після аварії з видачею “синього екрану”. Якщо вас такий дамп не цікавить, можна взяти управління розміром файлу підкачки в свої руки.

Налаштування розміру системних журналів

Розміри системних журналів варто вибирати такими, щоб їх відкриття для аналізу або копіювання по мережі виконувалося за прийнятний час.

Налаштування локальних політик Windows

Обмежте розмір системних дампів фізичної пам’яті розміром 64 Гб, великий розмір дампа непрактичний з точки зору налагодження. Можна оптимізувати управління пам’яттю і істотно скоротити гортання за допомогою установки локальної політики для користувача, від імені якого запускається служба SQL Server. Політика називається “Lock pages in memory“, Розташовується вона у вузлі”User rights assignment“Локальних політик. Оболонку менеджера політик можна викликати з командного рядка, набравши там gpedit.msc і натиснувши ввід.

Ще однією корисною локальної користувальницької політикою є миттєва ініціалізація файлу даних: “Виконання завдань обслуговування томи” (Perform Volume Maintenance). Для файлів журналів ця політика непридатна. Однак, включення цієї політики хоч і дозволяє зробити процес створення файлу даних, його приріст або відновлення практично миттєвим, воно загрожує підвищенням ризиків безпеки, тому що ініціалізація не буде супроводжуватися перезаписом нових файлів або прирощується до них областей нулями. Тобто існує ризик, що розташована в цих областях інформація буде доступна для читання і до віддаленої раніше інформації зможуть отримати доступ неавторизовані учасники. Додаткову інформацію з безпеки цієї операції можна знайти в розділі SQL Server Books Online: “Ініціалізація файлів бази даних”. Однією з альтернатив цьому методу, також дуже швидко дозволяє виконувати завдання створення та збільшення файлів, є розміщення файлів баз даних на “сирих” розділах (RAW).

Налаштування Панелі Управління Windows

Щоб виключити зниження продуктивності в режимі енергозбереження, в оснащенні “Електроживлення” (Power Options) Потрібно вибрати режим “Висока продуктивність” (High Performance). Варто також переконатися, що сервер ніколи не буде переключатися в сплячий режим.

На закладці “Візуальні ефекти” можна відключити витрачання процесорного часу на некритичні для роботи сервера ефекти, вибравши режим “Забезпечити найкраще швидкодію” (Adjust for best performance).

Налаштування конфігурації системи

Вимкніть контроль облікових записів UAC. Для цього натисніть кнопку “Пуск” (Start), у списку “Програми” (All Programs) перейдіть до папки “Адміністрування” (Administrative Tools) і запустіть утиліту “Конфігурація системи” (System Configuration). Вимкнути UAC можна на закладці “Сервіс” (Tools), вибравши зі списку засобів задачу: “Відключіть контроль облікових записів UAC”. Для застосування змін необхідна перезавантаження системи.

Налаштування кешування вводу-виводу

Для включення кешування операційною системою операцій введення-виведення логічних дисків скористайтеся оснащенням Disk Management або Device Manager, перейшовши в ній в вузол Disk Drives. Для кожного настроюваного пристрою логічного диска потрібно вибрати Властивості (Properties) і перейти на закладку Policies. Для індивідуальної настройки дисків краще підходить оснастка Disk Management, там настройки виконуються з властивостей дисків, які викликаються в графічній, нижньої частини вікна оснащення. Включення чекбокса “Enable write caching on the disk“Дозволяє кешування запису на диск. Після позначки цього чекбокса стає доступний для позначки другий чекбокс:”Enable advanced performance“. Включення обох чекбоксів не тільки дозволяє кешування, а й змушує операційну систему вилучати із запитів вводу-виводу команди прямого запису на диск і скидання дискового кеша. Не рекомендується включати ці чекбокси якщо апаратні кеші не мають захисту від втрати електроживлення.

Якщо логічний диск представлений зовнішнім дисковим масивом, який оснащений апаратним кешем з батарейкою, можна не помічати другий чекбокс: “Enable advanced performance”. Однак, позначка цього чекбокса може підвищити продуктивність записи в журнал транзакцій.

Для вступу в силу змін налаштувань кешу дисків перезавантаження сервера не потрібно.

Налаштування параметрів мережевих плат

У вікні Local Area Connection Properties майстра Network Connections панелі управління Windows можна викликати вікно параметрів мережевої плати, якщо натиснути кнопку Configure. У цьому вікні на закладці Advanced перераховані кілька параметрів, деякі з них можуть істотно впливати на продуктивність обміну даними по мережі.

Link Speed and Duplex

Кращим рішенням найчастіше є узгоджений вибір повнодуплексного режиму зв’язку у властивостях мережевої плати і у властивостях порту мережевого комутатора / концентратора. Це не означає, що вибір автоматичної підстроювання там і тут буде працювати гірше, просто історія пам’ятає такі випадки …

Існує ще ряд поширених параметрів, настройка яких може допомогти підняти продуктивність мережевого інтерфейсу (наприклад, Receive Buffers, Coalesce Buffers, Offload features і т.п.). Щоб видерти вірні значення для подібних параметрів, зверніться до документації виробника мережевої плати.

Для того щоб виключити можливість відключення мережевого інтерфейсу з метою оптимізації енергоспоживання сервера, стоїть на закладці Power Management прибрати позначку чекбокса “Allow the computer to turn off this device to save power“.

Відключення невикористовуваних протоколів

Для того щоб прибрати незначну додаткове навантаження, створювану для обслуговування невикористовуваних мережних протоколів, пропонується вимкнути або деінсталювати такі протоколи. Наприклад, першим кандидатом на відключення є TCP/IPv6, в силу поки що своєї малої поширеності. Зробити це можна у вікні Local Area Connection Properties майстра Network Connections панелі управління Windows.

SQL Server також використовує за замовчуванням кілька протоколів, відключити зайві з них дозволяє оснастка SQL Server Configuration Manager, в якої протоколи перераховані у вузлі “Мережева конфігурація SQL Server”.

У більшості випадків і у властивостях мережевого інтерфейсу і в протоколах SQL Server досить обмежиться використанням протоколу TCP/IPv4.

Якщо ж потрібно підтримувати декілька протоколів, варто поставити пріоритети використання протоколів та їх провайдерів у вікні Advanced Settings майстра Network Connections.

Налаштування антивірусного програмного забезпечення

У тих випадках, коли операційна середу або бізнес – вимоги змушують встановлювати на обслуговуючому служби SQL Server сервері антивірусне програмне забезпечення, налаштовувати антивірусне ПЗ потрібно так, щоб оновлення вірусних сигнатур і сканування системи відбувалося під час низької активності SQL Server.

Необхідно налаштувати виключення сканування файлів баз даних, журналів транзакцій і резервних копій, які типово мають дозволи: mdf, ldf, ndf, bak і trn. Це дозволить запобігти пошкодженню цих файлів при спробі з боку SQL Server їх відкриття, коли вони вже відкриті для перевірки антивірусним ПЗ. Крім того, необхідно вжити заходів для захисту каталогів повнотекстового пошуку і містять дані Analysis Services від ушкоджень, пов’язаних з активністю антивірусного програмного забезпечення. Виключіть також папку журналів SQL Server (MSSQLLog), журнал помилок відкрито постійно і в нього може виводитися багато подій. Якщо антивірусне ПЗ планується використовувати спільно з SQL Server працює в кластері, потрібно виключити сканування кворум – диска і каталогу: “c: WindowsCluster”. Для отримання більш докладної інформації про вимоги до налаштувань антивірусного ПО зверніться до статті бази знань Майкрософт: Guidelines for choosing antivirus software to run on the computers that are running SQL Server.

Щоб уникнути втручання в роботу служб SQL Server і для запобігання збільшення часу їх запуску через сканування антивірусним ПЗ, рекомендується виключити з перевірки служби SQL Server. Найбільш поширеними у використанні є служби: sqlservr.exe, sqlagent.exe, sqlbrowser.exe і sqlwriter.exe

Управління пам’яттю в SQL Server

SQL Server, при необхідності, намагається роздобути всю доступну йому оперативну пам’ять комп’ютера. Якщо встановлено кілька екземплярів SQL Server, імовірна конкуренція за ресурси пам’яті між менеджерами динамічної пам’яті кожного екземпляра. До появи в SQL Server 2008 засобів регулювання ресурсів, єдиною можливістю зниження конкуренції за пам’ять між різними екземплярами була установка в глобальній конфігурації примірника SQL Server обмежень для максимального і мінімального обсягів використовуваної фізичної пам’яті. Крім того, гарною практикою вважається залишати не менше 10% оперативної пам’яті для потреб операційної системи.

Налаштування параметрів глобальної конфігурації SQL Server

affinity I/O mask

Цей параметр глобальної конфігурації дозволяє ізолювати обслуговування вводу-виводу даного екземпляра SQL Server одним або декількома ядрами процесорів. Прив’язка вводу-виводу дозволяє закріпити за введенням-висновком фіксоване число планувальників. За замовчуванням і в більшості випадків маску прив’язки процесорів до введення-висновку встановлюють в нуль, дозволяючи SQLOS самої керувати подібної прив’язкою. Найчастіше це дозволяє отримати максимальну продуктивність, однак, для деяких типів робочого навантаження (яким характерні високі норми введення-виведення), продуктивність може бути вищою, якщо жорстко прив’язати введення-виведення до одного або більше ядру. Наприклад, можна виділити одне ядро ​​для введення-виведення, як це показано нижче, у прикладі сценарію для 16-ти ядерного сервера:


Не обов’язково для вводу-виводу виділяти найперше по порядку ядро. Це може бути ядро ​​з того NUMA-вузла, в домені близькості якого знаходиться адаптер вводу-виводу.

network packet size

Наступним параметром глобальної конфігурації, зміна якого може в деяких випадках сприяти підвищенню продуктивності додатків баз даних, є “network packet size (B)”. Збільшення розміру мережевого пакету до 8192 Байт може дозволити домогтися виграшу за рахунок кращого вирівнювання розміру пакета з розміром сторінки SQL Server, яка дорівнює 8 КБ. Однак, слід враховувати, що значення цього параметра за замовчуванням (4096Б), є найкращим для більшості додатків. Тільки тестування дозволить вибрати для цього параметра оптимальну установку.

Налаштування ключів системного реєстру Windows


UseLargePages

Включення підтримки великих сторінок може виявитися корисним для тих систем з SQL Server x64, які оснащення великим об’ємом оперативної пам’яті. Великі сторінки сприяють підвищенню продуктивності за рахунок збільшення TLB буфера процесора. Великі сторінки можуть використовуватися для буферного пулу і для кодових сторінок SQL Server. Для включення великих сторінок на рівні SQL Server потрібно задати прапор трасування -T834 (Це можна зробити через стартові параметри). Крім того, слід додати ключ системного реєстру. Вміст reg-файлу для додавання показано нижче:

 


Для вступу змін в силу потрібно перезавантаження системи.

LargeSystemCache / Size і IdleFrom0Delay

Встановивши значення LargeSystemCache в 0, тим самим встановлюється стандартний розмір кешу файлової системи, що дорівнює приблизно 8 Мб, максимальний розмір кешу файлової системи не буде перевищувати 512 Мб. Ця установка рекомендується для таких програм, які здійснюють кешування пам’яті самостійно, і до таких програм відноситься SQL Server. Нижче показаний reg-файлу для завдання такої установки:


Те, наскільки агресивно займатиметься фізична пам’ять під завдання файлового кеша, залежить від установки такого ключа реєстру:


Можливі значення: 1-мляво, 2-збалансовано, 3-агресивно. Для установок з малим навантаженням на файловий кеш, цілком достатньо 1 .. Інші установки властиві файловим серверам різного масштабу, втім, для тестів TPC-E часто обирають 3.

Відключити режим економії енергії, який теж може сповільнювати деякі операції, можна за допомогою ключа IdleFrom0Delay. Зробити це можна так:


IoPageLockLimit, DisablePagingExecutive і DontVerifyRandomDrivers

В одному з документів по оптимізації мені траплялася така формула: “IoPageLockLimit = (RAMMb – 65) * 1024”. За допомогою ключа IoPageLockLimit можна вплинути на те, скільки байт система буде читати або писати на логічекскій диск за один раз.

Коли оперативної пам’яті предостатньо, за допомогою установки DisablePagingExecutive можна не дозволяти SQL Server витісняти в файл підкачки компоненти драйверів привілейованого і непривілейованого режимів, як і компоненти самого ядра ОС. Установка DontVerifyRandomDrivers в одиницю дозволяє заощадити декілька процесорних циклів за рахунок відключення отладочной перевірки драйверів.

Ось як можуть виглядати значення цих ключів на практиці:


CountOperations

Параметр CountOperations дозволяє відключити збір даних по деяких лічильників продуктивності, які відносяться до запитів вводу-виводу дискової підсистеми і мережевих інтерфейсів. Щоб це зробити, потрібно в ключі системного реєстру “I / O System” встановити значення 0 для наступного параметра:


Потрібне перезавантаження.

NumberOfRequests і MaximumSGList

Ця пара ключів системного реєстру призначена для управління драйвером мініпорт в момент ініціалізації останнього.

Збільшуючи значення NumberOfRequests може сприяти підвищенню продуктивності обслуговування в Windows запитів дискового введення-виведення, адресованих логічним дискам, і буває ефективно тільки якщо ці логічні диски є апаратними RAID-масивами, які володіють можливістю розпаралелювання запитів вводу-виводу. Рекомендоване значення можна знайти в документації виробника FC-адаптера або RAID-контроллера. Збільшувати значення потрібно обережно, тому що велике значення може призвести навіть до відмови системи. Наприклад, для HBA адаптера QLogic, керованого драйвером “QLogic Fibre Channel Miniport Driver “, в документації не рекомендується перевищувати значення 150. Нове значення набуває чинності після перезавантаження системи або, в деяких випадках, досить перезапустити адаптер (заблокувати / розблокувати).

Ключ MaximumSGList дозволяє змінювати використовуваний за умовчанням розмір пакета передачі даних по шині (64Кб), який актуальний для команд інтерфейсу SCSI. Якщо встановити значення 255, то розмір переданого однією командою обсягу даних буде дорівнювати мегабайту. Сучасні адаптери вміють поєднувати до 265 сегментів даних, кожен по 4096 байт, що в сумі може дати розмір однієї передачі до 1048576 байт. Цей параметр широко використовується для підвищення ефективності використання стрічкових накопичувачів, а також для оптимізацій таких задач SQL Server, які оперують великими запитами уведення-виведення, наприклад, резервне копіювання і відновлення.

В описах тесів TPC-C зустрічається установка обох ключів в значення 255, як це показано в прикладі нижче:


IdlePrioritySupported

Windows Server 2008 вміє враховувати пріоритет запиту вводу-виводу і використовує його для обслуговування фонових задач. Однак, якщо система обслуговує тільки один додаток, подібне SQL Server, і це додаток саме піклується про пріоритети запитів вводу-виводу, відволікання системних ресурсів на пріоритезацію стає зайвим. Відучити Windows від обслуговування пріоритетів запитів можна внісши зміни в системний реєстру для кожного з обраних дисків, як це показано на прикладі використання ключа IdlePrioritySupported:


Ключ Classpnp швидше за все доведеться додати. Подібні тонкі настройки були мною помічені у IBM в тестах TPC-E.

TCPWindowSize

У Windows 2008 цей ключ більше не використовується. У більш ранніх версіях збільшення розміру вікна може підвищити ефективність мережевого трафіку. Рекомендоване значення (64240) для ключа TCPWindowSize представлено нижче:


Якщо розмір вікна в 64240 Байт теж обмежує продуктивність мережі, існує можливість збільшення розміру вікна до одного Гігабайта. Ключ реєстру TCP1323Opts дозволяє динамічне мастабірованіе вікна. Рекомендованим значенням для цього ключа є: 0x3.

Для подальшої оптимізації продуктивності мережевих інтерфейсів спробуйте використовувати наступні ключі системного реєстру Windows, опис яких легко знайти в Базі Знань Майкрософт: TCPMaxConnectRetransmissions, TCPMaxDataRetransmissions, TCPTimedWaitDelay, MaxUserPort, MaxHashTableSize, NumTcbTablePartitions, TcpAckFrequenc, MTU і EnablePMTUDiscovery.

Рекомендовані до відключення служби

Application Management Alerter, Clipbook, Computer Browser, Distributed file system, Distributed link tracking client, Error Reporting Service, Fax Service, File Replication, Help and Support HTTP SSL, License Logging, Messenger, Portable Media Serial Number Service, Shell Hardware Detection, Windows Audio, Wireless Configuration.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*