powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выравнивание размеров и производительности ndf
9 сообщений из 9, страница 1 из 1
Выравнивание размеров и производительности ndf
    #40121912
Ice_one1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Есть mssql 2017. База располагается на одном mdf и нескольких ndf все в группе Primary.
Для ускорения работы все эти файлы расположены на разных дисках. Но заполняются они не прапорционально.
Например основной mdf - 100Gb, дополнительные от 70 до 1Gb.
Как я понимаю это происходит из-за неравномерного размещения таблиц и индексов в базе.
Вручную переносить не совсем красивый вариант.
Можно ли как-то это дело сделать в автоматическом режиме?
Т.е. чтобы скул сам определил размер и загрузку и перераспределил всё между файлами ndf.
Спасибо.
...
Рейтинг: 0 / 0
Выравнивание размеров и производительности ndf
    #40121916
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ice_one1,

можно выставить одинаковые размеры файлов и постепенно сиквел выравняет их заполненность

https://www.sqlshack.com/understanding-sql-server-proportional-fill-algorithm/
...
Рейтинг: 0 / 0
Выравнивание размеров и производительности ndf
    #40121978
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ice_one1Для ускорения работы все эти файлы расположены на разных дисках.И вы таки можете замерить это ускорение?
У вас старый добрый железный сервер со старыми добрыми магнитными дисками?

В моем случае (уверен что у большинства так) виртуальный сервер и виртуальные же диски сиречь разницы как именно расположены файлы не видно. Если у вас так же, то не парьтесь - следите только чтобы место не кончилось.
...
Рейтинг: 0 / 0
Выравнивание размеров и производительности ndf
    #40122009
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257

В моем случае (уверен что у большинства так) виртуальный сервер и виртуальные же диски сиречь разницы как именно расположены файлы не видно. Если у вас так же, то не парьтесь - следите только чтобы место не кончилось.


Ишо не все так низко пали. Есть и разумные DBA.

ЗЫ. Хотя мне доводилось видать чудаков, на известную букву, "ускоряющих" ms sql добавлением виртуальных ядер.
...
Рейтинг: 0 / 0
Выравнивание размеров и производительности ndf
    #40122097
Ice_one1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сиквел выравнивает только по размеру, но не по нагруженности.
К сожалению это ускорение можно измерить. Даже банальной нагрузкой на диски, не говоря про инструменты скула.
Сервер новый но железный. Виртуальные не дают такой производительности, максимум что смогли выжать это потеря 10% производительности на виртаулке по сравнению с железным решением.
Диски nvme pciex. За местом следим, пока достаточно, даже стараемся держать на 50% заполненности на диске.
Размер базы 3,7Тб. Поэтому производительность в приоритете.
...
Рейтинг: 0 / 0
Выравнивание размеров и производительности ndf
    #40122128
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ice_one1,

выравнивать по нагруженности должен человек, производительность - это субъективная и потребительская характеристика. Только Вы знаете, что для Вас означает "выравнивание по нагруженности".
...
Рейтинг: 0 / 0
Выравнивание размеров и производительности ndf
    #40122549
Ice_one1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов
выравнивать по нагруженности должен человек, производительность - это субъективная и потребительская характеристика. Только Вы знаете, что для Вас означает "выравнивание по нагруженности".

Спасибо. Я приблизительно так и понял. Просто надеялся на то, что существуют какие-то инструменты которыми можно это делать в автоматическом режиме. В моем понимании "нагруженность" это анализ обращений к файлу базы, а также к каким именно таблицам идет запрос. И перемещение таблиц между файлами, для равномерного распределения нагрузки. А то получается, что некоторые диски загружены в два-три раза меньше чем другие.
...
Рейтинг: 0 / 0
Выравнивание размеров и производительности ndf
    #40122560
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ice_one1,

да, если вы хотите как-то нормировать IO нагрузку, то потребуется проследить за обращениями к таблицам относительно времени. Затем переместить таблицы в файловые группы, расположенные на разных дисках согласно требованиям нагрузки. Одним из показателей того, что диски не успевают обрабатывать потоки данных являются системные счетчики дисковой очереди.
...
Рейтинг: 0 / 0
Выравнивание размеров и производительности ndf
    #40122612
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ice_one1,

Вы пошли путем экстенсивным, просто увеличивая доступное пространство и практически не влияя на то как оно будет
заполнено.
Решение же лежит на поверхности - секционирование.
представим самую простейшую ситуацию:
имеем несколько справочников, чей рост практически никак не влияет на размер базы и пару связанных таблиц, например шапка (чего-то) и табличная часть связанные между собой монотонно увеличивающимся айдишником (бигинт).
из физики (я про диски), к примеру, есть 6 лунов
на первом луне размещаем саму базу, естественно там будет и останется файловая группа PRIMARY вместе со всеми справочниками
добавляем еще 5 файловых групп, пишем функцию секционирования для айдишника с вычислением остатка от его деления на 5 и определяем схему секционирования, как каждому значению остатка своя файловая группа.
указываем кластерным ключам наших шапок и табличных частей использовать эту схему секционирования посредством функции секционирования на основании значений айдишников.
все! получаем не совсем равномерное, но более-менее нормальное распределение по 1/5 на каждый диск, причем для выборки конкретной шапки с табличной частью будет задействован только один лун.
перекос возникать будет если у Вас количество записей в табличной части тоже зависит от остатка деления на 5, например каждая 3-я шапка имеет в 100 раз большую табличную часть.. - но это вряд-ли..

решение - не панацея, но работает.
не знаю как показать, ну вот например 4 секции накопления, а в 5-ой складываются оперативные данные. перекос виден в количестве, в размере примерно столько же в % отношении.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выравнивание размеров и производительности ndf
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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