Как сделать Стресс-тест HADR_SYNC_COMMIT и PAGELATCH_UP в SQL Server: PowerShell-скрипт с мониторингом и автоочисткой
- Выбор баз – подключается к указанному экземпляру SQL Server, выводит список пользовательских баз в
Out-GridViewдля множественного выбора. - Подготовка окружения – принудительно удаляет/пересоздаёт тестовую таблицу
dbo.hadr_stress_testв каждой выбранной базе и глобальную таблицу##hadr_stress_counterвtempdb. - Генерация нагрузки
- HADR_SYNC_COMMIT: запускает параллельные потоки
INSERTс пакетной вставкой. При синхронном режиме AG возникает ожидание подтверждения от вторичных реплик. - PAGELATCH_UP: несколько десятков потоков обновляют одну строку в
tempdb, вызывая конкуренцию за latch-и страниц выделения (PFS/SGAM).
- HADR_SYNC_COMMIT: запускает параллельные потоки
- Контроль роста – отдельные фоновые потоки выполняют
TRUNCATE TABLEкаждые 15 секунд с механизмом повторных попыток при блокировках. - Мониторинг в реальном времени – каждые