|
MS SQL, ОЗУ и temdb | ☑ | ||
---|---|---|---|---|
0
Sevish
08.04.24
✎
07:35
|
Добрый день всем!
На сервере 512 ОЗУ, настроил в соответствии с рекомендациями 1С: минимум 280, максимум 420. Так же настроил tempdb: 4 файла по 16 Гб. Подскажите, пожалуйста: 1. Почему при старте MS SQL сразу не забирает под себя 280 Гб ОЗУ? 2. Почему файлы tempdb разрастаются? Может MS SQL их увеличивает исходя из объема ОЗУ? Просто я выдели под tempdb диск 100Гб, а свободно в нем всего 9 Мб... Благодарю за ответы. |
|||
1
Chai Nic
08.04.24
✎
07:58
|
А базы небось в десяток терабайт?
|
|||
2
Irbis
08.04.24
✎
08:06
|
(0) Ты же сам разрешил, скуль он такой.. дюже прожорливый. Как хохол, "что не зъим, то понадкусаю"
|
|||
3
Sevish
08.04.24
✎
08:32
|
(1) Нет, большая база по сути одна 250 Гб, но пользователей около 120.
(2) Я разрешил ОЗУ, но почему растет tempdb? |
|||
4
Ёпрст
08.04.24
✎
08:32
|
(0)ты не поверишь, но tempdb тоже можно ограничить, и при таком озу, проще хранить его там
|
|||
5
Sevish
08.04.24
✎
08:33
|
(4) Да, я знаю, что можно ограничить. Но сначала хочу понять, почему растет? А то ограничу и это приведет к тормозам.
А что эффективнее? tempdb на 64 Гб в ОЗУ запихнуть, или пусть эти 64Гб себе сквел заберет? |
|||
6
Ёпрст
08.04.24
✎
08:38
|
(5) эффективнее, не допускать роста темп дб, нагружая транзакциями и невъэбенными неоптимизированными запросами с кучкой временных таблиц
|
|||
7
Ёпрст
08.04.24
✎
08:40
|
Ну и..сетевые протоколы то хоть какие в скуле ?
|
|||
8
Ёпрст
08.04.24
✎
08:43
|
Какое приращение стоит в темпдб и в самой базе ? Поди 10%, да ?
:) |
|||
9
Sevish
08.04.24
✎
08:55
|
(6) КА типовая без каких-то доработок. Так что это вопрос к 1С :)
(7) Общая память и tcp/ip (8) по 512Мб приращение, без ограничений. |
|||
10
Irbis
08.04.24
✎
09:16
|
(9) Без ограничений, то есть пока весь диск занят не будет. Всё просто.
|
|||
11
Sevish
08.04.24
✎
09:34
|
(1) я это понимаю, но почему растет tempdb? Вопрос то в этом? ОЗУ с
|
|||
12
АгентБезопасной Нацио
08.04.24
✎
09:45
|
(11) потому, что если нет ограничений - серверу дешевле выделить новое место, чем переипользовать освобожденное. (посмотри свободное место в темпдб - его там наверняка будет процентов 95-98)
Если работа не 24/7, то самое тупое решение - периодически (допустим, раз в неделю) рестартовать сиквел. менее тупое - поставить в план обслуживание скрипт по сжатию. |
|||
13
Sevish
08.04.24
✎
09:55
|
(12) то есть так: у меня 100 Гб выделено под tempdb, сиквел сам расширил файлы tempdb так, чтобы все 100Гб поглотить, не смотря на то, что из 512 ОЗУ использовано только 130.
Забить и расслабиться, или выделить под tempdb ещё 100Гб? Есть в этом смысл? Место не проблема. Просто хочу понять на сколько это оправдано. А почему на ИТС рекомендуют создать 3-4 файла tempdb? |
|||
14
ptiz
08.04.24
✎
11:09
|
(13) " из 512 ОЗУ использовано только 130" - а SQL какой версии? Стандарт? Он только 128Гб ОЗУ съесть может.
|
|||
15
Sevish
08.04.24
✎
11:14
|
(14) Нет интерпрайз, все норм. При загрузке ИБ он съел 290+ просто видимо при работе нагрузка пока не такая большая. При закрытии видимо доест оставшееся :)
|
|||
16
MaximSh
08.04.24
✎
11:26
|
(14) этот лимит в стандарт только на buffer pool, а так занимает сколько выделить
|
|||
17
ptiz
08.04.24
✎
11:27
|
(15) Где все деньги находят на покупку ентерпрайз? :)
|
|||
18
MaximSh
08.04.24
✎
11:39
|
(0) плюсов от установки большого минимуму на tempdb нет, он растет сам. Минусы работа TRIM на SSD, что может сказаться на производительности, так нужной для tempdb.
|
|||
19
MaximSh
08.04.24
✎
11:51
|
(13) использование и размер tempdb не зависит от количества ОЗУ, оно для другого. Если для и внутри tempdb реально закончится место, то база выйдет в критичную ошибку out of disk space.
4 шт для лучшей параллельной работы, это рекомендация Microsoft |
|||
20
Sevish
08.04.24
✎
12:20
|
Что ж, получается надо ещё 100Гб накинуть на диск с tempdb. Но все равно не понятно с чего так растет... что влияет на это. Может количество одновременных подключений?
|
|||
21
ptiz
08.04.24
✎
12:21
|
(20) Например, реструктуризация таблицы на 50Гб приведет к одномоментному росту тембдб на эти 50гб.
|
|||
22
Irbis
08.04.24
✎
12:26
|
(20) Всё что захапано скулем, он без принудительных действий не отдаст. Просто при необходимости будет использоваться. А будет или нет та самая необходимость не особо понятно. Потому и "жмут" эти таблицы что при неипических размерах на самом деле занято с гулькин хрен.
|
|||
23
АгентБезопасной Нацио
08.04.24
✎
15:04
|
(19) в 2019-й версии сделали возможность заменять темпдб на данные в памяти. Там размер памяти буде твлиять на рост темпов. а пока - лучше запихать в регламент шринк темпов.
ТС, кстати, так и не ответил, сколько у него в тех темпах свободного места. |
|||
24
Sevish
08.04.24
✎
16:23
|
(23) Сорри, упусти. Выделено 99891Гб, доступно... 99476Гб...
В общем понятно, можно думаю расслабиться. Ибо если выделю 200Гб, tempdb и их сожрет :) |
|||
25
Sevish
08.04.24
✎
16:59
|
Благодарю всех за подсказки!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |