powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Замедление после дефрагментации индексов
25 сообщений из 31, страница 1 из 2
Замедление после дефрагментации индексов
    #39745818
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Есть сервер MS SQL 20016 SP2 с несколькими базами данных, где дефрагментации индексов не проводилось долго.
В основных таблицах доходит до 45-50%. Я настроил средствами SSMS management план обслуживания для индексов вида:
перестроение индекса (свободное место не изменяет, индексы онлайн по возможности, maxdop не меняет. приоритет низкий, быстрое сканирование, срабатывает при 30+ фрагментации и больше 1000 страниц), потом реорганизация индекса (сжатие больших объектов, быстрое сканирование, 10+ фрагментация и 1000 страниц), последнее действие обновление статистики.

Джоб запустился один раз на выходные. А в понедельник начались жалобы на увеличение времени отработки запросов, некоторые джобы разработчиков в 5-10 раз дольше выполнялись. Основная видимая причина - нагрузка на ЦПУ начала стабильно уходить в 100%.

Базы аналитики, потеря данных устраивала и базы восстановили на время до выходных. Запросы опять отрабатывают нормально.

Полной уверенности в причинах, скорее всего, получить не удастся. Восстановить работоспособность требовалось быстро и возможности углубленно проверить счетчики мониторинга и "погонять" проблемные запросы не было. На нескольких базах было включено хранилище запросов и в регрессивных запросах можно было увидеть резкий скачёк времени выполнения при одном и том же плане.

Сейчас меня интересует может ли реально быть проблема от дефрагментации индексов, что вызывает и как избежать.

Пока видел только упоминание об увеличении времени до первого обновления статистики. Статистику обновлял - не помогло.
Либо вариант с изменением свободного места для страницы и MAXDOP, но тоже не мой вариант.
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39745909
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот это вот поясните, плиз:
авторпотом реорганизация индекса (сжатие больших объектов, быстрое сканирование, 10+ фрагментация и 1000 страниц)
реорг ничего не сжимает.
сжимает компрессия, но это не реорг, а ребилд,
и главное, блобы как раз и не сжимаются.

в общем, если вы пожали данные, сделав rebuild with data_compression,
то не надо удивляться, что запросы теперь CPU выкушивают
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39745937
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123,
Сжатие больших объектов - название на русском внутри проектировщика планов.
Так это - compact large objects. Данный пункт именно в reorganize, не в rebuild. Включен по умолчанию и рекомендаций его отключать я не видел.
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39745952
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danion
Сейчас меня интересует может ли реально быть проблема от дефрагментации индексов, что вызывает и как избежать.


проблемы у вас от изменившихся планов выполнения, полагаю
индексы перестроены, статистики перестроены, оптимизатор решил посканировать таблицы

если autoupdate/autocreate статистики на базе выключен, то может быть подобный эффект
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39745956
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, compact large objects это совсем другое.
реорг это делает по умолчанию,
но это НЕ компрессия,
ничего не сжимается, просто высвобождаются пустые страницы.
это никак не повлияет на дальнейшее чтение, разве только в лучшую сторону
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39745962
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komradоптимизатор решил посканировать таблицы

но ведь если "решил посканировать", то IO подскочит, а не CPU
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39745968
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123komradоптимизатор решил посканировать таблицы

но ведь если "решил посканировать", то IO подскочит, а не CPU
+ параллелизм вестимо


Danion,
покажите результат

Код: sql
1.
select * from sys.configurations
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39745976
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

То есть раньше параллелизма не было, а после переиндексации выскочил? Я скорее поверю в перерасчет статистик. Но это кратковременно должно быть, несколько часов от силы.
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39745986
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DanionДобрый день.

Есть сервер MS SQL 20016 SP2 с несколькими базами данных, где дефрагментации индексов не проводилось долго .
последнее действие обновление статистики .

Джоб запустился один раз на выходные. А в понедельник начались жалобы на увеличение времени отработки запросов, некоторые джобы разработчиков в 5-10 раз дольше выполнялись. Основная видимая причина - нагрузка на ЦПУ начала стабильно уходить в 100%.

Статистику обновлял - не помогло .


У Вас был loop join из-за давно непересчитываемой статистики, а теперь hash join с полным сканированием крупных таблиц. Раньше нагрузка ложилась при merge join на tempdb, сейчас не хватает ядер на процессорах.

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

И начните с того, что напишите сюда количество ядер и процессоров, тактовую частоту, модель процессоров. И что установлено в maxdop для всего инстанса MSSQL.
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39746091
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad,

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

Max Degree of parallelism - 0. Это, насколько я помню, без ограничений. Но с чего бы внезапно начало плодить лишний параллелизм для загрузки ЦПУ?
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39746092
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вторая часть
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39746105
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danionkomrad,

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

статистику можно обновлять по-разному
самая точная и долгая - fullscan

DanionMax Degree of parallelism - 0. Это, насколько я помню, без ограничений. Но с чего бы внезапно начало плодить лишний параллелизм для загрузки ЦПУ?
см коммент от Andy_Olap, очень вероятно
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39746107
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Конечно вариант, что там сами разрабы успели наваять отбрасывать нельзя. Но интересуют возможные проблемы со стороны СУБД, не хочется встретить проблему на основном продуктиве после моего плана обслуживания.

Andy_OLAP,
"У Вас был loop join из-за давно непересчитываемой статистики, а теперь hash join с полным сканированием крупных таблиц. Раньше нагрузка ложилась при merge join на tempdb, сейчас не хватает ядер на процессорах."
Версия интересная, нужно обновить знания по теме.
"Проверяйте охлаждение на процессорах, терпопасту под кулерами, проверяйте профиль электропитания, чтобы была максимальная производительность вместо сбалансированной."
Виртуальная машина, сам сервер в ЦОД. Выдано ей 15 процов, 2,20 ГГЦ.
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39746113
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danion,

вот это еще покажите

Код: sql
1.
select * from [DB].sys.database_scoped_configurations



DB - ваша база
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39746133
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danion,

Вы случайно не загоняли fill factor к 100%. Если да, то это всё объясняет.
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39746143
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin,

сплит страниц аццки нагружает CPU по-вашему? У меня в базе все таблицы 100% заполнение имеют и нагрузка не выше 20% в плохую погоду.
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39746146
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voroninDanion,

Вы случайно не загоняли fill factor к 100%. Если да, то это всё объясняет.
Вы думаете, что автор темы вместо дефолтного "reorganize pages" выбрал "change free space" как на картинке ? И выкрутил его на 0, получив fill factor 100?
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39746149
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обратите внимание, что у комрада виртуалка. А там уже какую гайку админ подкрутит.
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39746151
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
a_voronin,

Думал об этом варианте, в sys.configuration min - 0, max - 100%.
Но опция в плане обслуживания default free space per page вроде оставляет то, что было задано при создании индекса.

komrad,
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39746163
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На поддержку передали несколько серверов. Разворачивал и первоначально настраивал их не я, пока стараюсь менять настройки по минимуму. Хорошо, что мной же настроенные бекапы успели пройти. Только начал приводить сервера в адекватных вид и тут такой сюрприз.

Andy_OLAP,
Честно говоря, не очень помню информацию по loop join и hash join. Как освобожусь немного буду перечитывать по ним.
У меня есть бекапы до дефрагментации индексов и на дату, когда проблемы начались. При развертывании на тестовом сервере примерно повторить проблему и сравнить настройки удастся или тут привязка именно к тому серверу?
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39746167
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DanionНа поддержку передали несколько серверов. Разворачивал и первоначально настраивал их не я, пока стараюсь менять настройки по минимуму. Хорошо, что мной же настроенные бекапы успели пройти. Только начал приводить сервера в адекватных вид и тут такой сюрприз.

Andy_OLAP,
Честно говоря, не очень помню информацию по loop join и hash join. Как освобожусь немного буду перечитывать по ним.
У меня есть бекапы до дефрагментации индексов и на дату, когда проблемы начались. При развертывании на тестовом сервере примерно повторить проблему и сравнить настройки удастся или тут привязка именно к тому серверу?
Берете разработчика, который говорит "с понедельника вот такой селект стал работать в 10 раз медленнее".
Берете бэкап до дефрагментации и разворачиваете на любом тестовом сервере. Запускаете селект. Записывает полученный план и время выполнения. Запускаете дефрагментацию по примеру на боевом сервере. Ждете завершения. Запускаете селект. Аналогично. Далее на всякий случай разворачиваете бэкап после дефрагментации с боевого сервера на дату, когда начались проблемы. Запускаете селект. Аналогично.

Затем с полученной информацией идете к разработчику, который умеет читать план выполнения запросов, садитесь рядом и долго думаете, раздирая свои одежды и посыпая голову пеплом.
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39746168
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danion,

Чтобы все было кошерно - тестовый сервер во время опытов не нагружаете больше ничем.
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39746179
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andy_OLAP,
Спасибо за ссылку на статью по join.

Попробую по тестировать.
При изменении join план запроса должен же меняться?

На базе было запущено хранилище информации, немного успел посмотреть пока "бегали вокруг с криками чините быстрее", но для точного определения мало инфы.
После восстановления на тесте подобрее посмотрю, что собрано.

с 7 на 8 прошел план обслуживания, по графику регрессивных запросов план запроса при этом не менялся.
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39746180
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andy_OLAPБерете бэкап до дефрагментации и разворачиваете на любом тестовом сервере. Запускаете селект. Записывает полученный план и время выполнения.

должны быть сходные параметры "железа" и настройка версия сиквела
иначе, "быстрый" план может не сгенериться

если получили таки его, попробуйте пришпилить с помощью query data store, и перестроив индекы проверить производительность с форсированным "быстрым" планом и свежесгенеренным новым
...
Рейтинг: 0 / 0
Замедление после дефрагментации индексов
    #39746188
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за ответы.

Если верна версия Andy_OLAP, то со временем статистика обновится и сама по принципу "По умолчанию оптимизатор запросов обновляет статистику по мере необходимости для усовершенствования плана запроса" и похожее опять возникнет?

И кто разбирается в ошибках системных таблиц пользовательских БД - просьба подсказать в моей же теме
https://www.sql.ru/forum/1306487/oshibka-pri-checkdb

Заранее спасибо.
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Замедление после дефрагментации индексов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]