Коли ми перейшли зі старого всієї флеш-масиву, до нової всієї флеш-масиву (різного, але добре встановленого постачальника), ми почали спостерігати збільшення очікувань у SQL Sentry під час контрольних пунктів.
Версія: SQL Server 2012 Sp4
На старому сховищі наше очікування становило близько 2 к, з "шипами" до 2500 під час контрольного пункту, на новому сховищі шипи, як правило, 10 к, а піки близько 50 к. Sentry вказує нам більше на PAGEIOLATCH
уїті. Робичи власний аналіз, здається, це поєднання PAGEIOLATCH and PAGELATCH
очікувань. Використовуючи Perfmon, ми, як правило, можемо сказати, що більше сторінок ми перевіряємо, тим більше очікувань отримаємо, але ми лише промиваємо ~ 125 mb під час пропуску. Наше навантаження в основному пише (в основному вставляє / оновлює).
Продавець сховища довів нам, що прямий доданий масив Fiber Channel відповідає на 1 мс під час цих подій контрольної точки. HBA також підтверджує номери масиву. Ми також не віримо, що це проблема черги HBA, оскільки глибина черги ніколи не була вище 8. Ми також спробували нову HBA, змінивши налаштування ZIO, дросель виконання та глибину черги безрезультатно. Ми також збільшили пам’ять сервера з 500 ГБ до 1 ТБ без змін. Під час процесу контрольної точки ми бачимо 2 - 4 окремих ядра (з 16) шипів до 100%, але загальний процесор становить близько 20%. BIOS також налаштований на високу продуктивність. Цікаво, що ми бачимо, що процесори, як правило, перебувають у режимі сну С2, хоча ми це відключили, тому ми все ще досліджуємо, чому стан сну минає С1.
Ми можемо бачити, що майже всі очікування є на сторінках даних із випадковим ПФС типу DCM. Чекає в базі даних користувачів, а не tempdb. Ми також бачимо, що очікування надходить на декілька сторінок даних, на одній сторінці чекають деякі SPID. Дизайн бази даних має пару гарячих точок вставки, але такий же дизайн був у старому сховищі.
Запустивши цикл цього запиту 100 разів, ми змогли впізнати, скільки SPID чекають на диску проти пам’яті
SELECT
[owt].[wait_type], count(*) as waitcount
FROM sys.dm_os_waiting_tasks [owt]
WHERE [owt].[wait_type] LIKE 'PAGE%'
group by [owt].[wait_type]
order by 1
GO 100
«Приємна» річ у тому, що ми можемо легко відтворити проблему в нашому персональному середовищі, яке має той же масив моделей та подібні специфікації сервера. Буду вдячний за будь-які думки щодо того, де ще шукати або як звузити проблему. Зараз наші наступні тести включають: новий сервер з новішою материнською платою та більшою кількістю процесорів; відключення даних, що передають дані SIOS (навіть якщо це було у старому сховищі); різні марки HBA.
exec sp_Blitz @outputtype = 'markdown'
Пріоритет 5: Надійність : - Небезпечні сторонні модулі - Sophos Limited - Захист від перенапруги буфера Sophos - SOPHOS ~ 2.DLL - встановлений підозрюваний небезпечний сторонній модуль.
Пріоритет 200: Інформаційний : - Вузол кластера - це вузол у кластері. - TraceFlag On - Прапор трасування 1117 включений у всьому світі. - Прапор трасування 1118 включений у всьому світі. - Прапор сліду 3226 включений у всьому світі.
Пріоритет 200: Ліцензування : - Використовувані функції Enterprise Edition * xxxxx - База даних [xxxxxx] використовує стиснення. Якщо ця база даних буде відновлена на сервері Standard Edition, відновлення не вдасться у версіях до SP1 2016 року. * xxxxx - База даних [xxxxxx] використовує розділення. Якщо ця база даних буде відновлена на сервері Standard Edition, відновлення не вдасться у версіях до SP1 2016 року.
Пріоритет 240: Статистика очікування : - Не виявлено значущих очікувань - Цей сервер, можливо, просто сидить навколо простою, або хтось, можливо, нещодавно очистив статистику очікування.
Пріоритет 250: Інформація про сервер: - Обладнання - Логічні процесори: 16. Фізична пам'ять: 512 Гб. - Обладнання - NUMA Config - Вузол: 0 Стан: ONLINE Онлайн-планувальники: 8 Офлайн-планувальники: 0 Група процесорів: 0 Вуз пам’яті: 0 Пам'ять VAS Зарезервовано GB: 1177 - Вузол: 1 Стан: ONLINE Онлайн-планувальники: 8 Офлайн-планувальники: 0 Процесор Група: 0 Вузол пам’яті: 1 Бронювання пам’яті VAS: 0 - План живлення - Ваш сервер має центральні процесори 3,50 ГГц і перебуває в режимі потужної потужності - Останній перезапуск сервера - 4 липня 2018 4:56 - Останній перезапуск SQL Server - 5 липня 2018 5:11 - Служба SQL Server - Версія: 11.0.7462.6. Рівень виправлення: SP4. Видання: Enterprise Edition (64-розрядна). Групи доступності увімкнено: 1. Статус менеджера груп доступності: 1 - Віртуальний сервер - Тип: (HYPERVISOR) - Версія Windows - Ви маєте досить сучасну версію Windows: Server 2012R2 епохи, версія 6.3
Пріоритет 200: Налаштування сервера за замовчуванням: - Агенти XP - Цей параметр sp_configure змінено. Його значення за замовчуванням дорівнює 0, і воно встановлено на 1. - за замовчуванням стиснення резервного копіювання - Цей параметр sp_configure змінено. Його значення за замовчуванням - 0, і воно встановлено на 1. - Поріг заблокованого процесу - Цей параметр sp_configure змінено. Його значення за замовчуванням дорівнює 0 і воно встановлено на 20. - Поріг вартості паралелізму - Цей параметр sp_configure змінено. Значення за замовчуванням - 5, воно встановлено на 30. - Бази даних XP XP - Ця опція sp_configure була змінена. Його значення за замовчуванням дорівнює 0 і воно було встановлено на 1. - максимальна ступінь паралелізму - Цей параметр sp_configure змінено. Його значення за замовчуванням - 0 і встановлено на 8. - Максимальна пам'ять сервера (МБ) - Цей параметр sp_configure змінено. Його значення за замовчуванням - 2147483647 і встановлено на 496640. - хв. Пам'ять сервера (МБ) - Цей параметр sp_configure змінено. Його значення за замовчуванням - 0, і воно встановлено на 8196. - оптимізуйте для спеціальних навантажень - Цей параметр sp_configure змінено. Його значення за замовчуванням дорівнює 0 і воно встановлено на 1. - віддалений доступ - Цей параметр sp_configure змінено. Його значення за замовчуванням - 1, і воно встановлено на 0. - віддалені підключення адміністратора - цю опцію sp_configure було змінено. Його значення за замовчуванням - 0, і воно встановлено на 1. - сканування програм запуску - Цей параметр sp_configure змінено. Його значення за замовчуванням - 0, і воно встановлено на 1. - показувати розширені параметри - Цей параметр sp_configure змінено. Його значення за замовчуванням - 0, і воно встановлено на 1. - xp_cmdshell - Цей параметр sp_configure змінено.