|
Выделение оперативной памяти на запрос
|
|||
---|---|---|---|
#18+
Добрый день. Появился вопрос по выделению памяти на запрос. После перезагрузки сервера появилась проблема с несколькими запросами, которые начали запрашивать десятки ГБ оперативной памяти на запуск. Через пару дней проблема ушла и эти же запросы запрашивали уже в МБ. Кроме памяти было ещё и большее количество чтений строк, у некоторых запросов больше, чем в таблицах. После перезагрузки очищается динамическая память, скорее всего с этим связано. Но сейчас вижу, что эти запросы опять вернулись к повышенным запросам, хотя ребута не было. Один хочет 80+ ГБ, хотя показывает, что ему 22 МБ достаточно, при этом в пункте идеально - вся память сервера. Версия 2017 CU21 Enterprise. С чем может быть связан такой переизбыток запрошенной оперативной памяти и почему опять к нему вернулось? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 09:34 |
|
Выделение оперативной памяти на запрос
|
|||
---|---|---|---|
#18+
Danion, план запроса изменился. Статистика протухла, или запрос был скомпилирован с неудачными параметрами - это чаще всего. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 10:49 |
|
Выделение оперативной памяти на запрос
|
|||
---|---|---|---|
#18+
Danion Добрый день. Появился вопрос по выделению памяти на запрос. После перезагрузки сервера появилась проблема с несколькими запросами, которые начали запрашивать десятки ГБ оперативной памяти на запуск. Через пару дней проблема ушла и эти же запросы запрашивали уже в МБ. Кроме памяти было ещё и большее количество чтений строк, у некоторых запросов больше, чем в таблицах. После перезагрузки очищается динамическая память, скорее всего с этим связано. Но сейчас вижу, что эти запросы опять вернулись к повышенным запросам, хотя ребута не было. Один хочет 80+ ГБ, хотя показывает, что ему 22 МБ достаточно, при этом в пункте идеально - вся память сервера. Версия 2017 CU21 Enterprise. С чем может быть связан такой переизбыток запрошенной оперативной памяти и почему опять к нему вернулось? Есть брутальный способ: указывать в таких запросах OPTION RECOMPILE. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 11:40 |
|
Выделение оперативной памяти на запрос
|
|||
---|---|---|---|
#18+
Danion, если стабильно видите granted намного больше used, то настраивайте Resource Governor для ограничения максимальной квоты выделения памяти на запрос. Воевать с этим можно бесконечно, но если запросы написаны как попало, либо это целевая схема, то других решений нет. Сервер предполагает выделение памяти исходя из оценки количества строк в максимальной объеме одного из наборов данных согласно плана выполнения запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 14:27 |
|
Выделение оперативной памяти на запрос
|
|||
---|---|---|---|
#18+
Спасибо за ответы. Статистика каждую ночь обновляется, но в прошлый раз вернулось в норму через день, а тут с понедельника тянется. Но хоть малое число запусков и систему не кладёт. Посмотрю в понедельник как будет, OPTION RECOMPILE в каждый добавлять не хочется. Может в сторону Resource Governor придётся смотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 14:50 |
|
Выделение оперативной памяти на запрос
|
|||
---|---|---|---|
#18+
Danion Спасибо за ответы. Статистика каждую ночь обновляется, но в прошлый раз вернулось в норму через день, а тут с понедельника тянется. Но хоть малое число запусков и систему не кладёт. Посмотрю в понедельник как будет, OPTION RECOMPILE в каждый добавлять не хочется. Может в сторону Resource Governor придётся смотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 15:16 |
|
Выделение оперативной памяти на запрос
|
|||
---|---|---|---|
#18+
Владислав Колосов Danion, если стабильно видите granted намного больше used, то настраивайте Resource Governor для ограничения максимальной квоты выделения памяти на запрос. Воевать с этим можно бесконечно, но если запросы написаны как попало, либо это целевая схема, то других решений нет. Сервер предполагает выделение памяти исходя из оценки количества строк в максимальной объеме одного из наборов данных согласно плана выполнения запроса. На оценку необходимого объема памяти, а в данном случае имеет место явная переоценка, влияет и размер полей (типы данных). https://www.dbsophic.com/resources/sql-server-tuning-blog/post/21/variable-size-data-types-and-memory-grants ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 15:55 |
|
Выделение оперативной памяти на запрос
|
|||
---|---|---|---|
#18+
komrad Владислав Колосов Danion, если стабильно видите granted намного больше used, то настраивайте Resource Governor для ограничения максимальной квоты выделения памяти на запрос. Воевать с этим можно бесконечно, но если запросы написаны как попало, либо это целевая схема, то других решений нет. Сервер предполагает выделение памяти исходя из оценки количества строк в максимальной объеме одного из наборов данных согласно плана выполнения запроса. На оценку необходимого объема памяти, а в данном случае имеет место явная переоценка, влияет и размер полей (типы данных). https://www.dbsophic.com/resources/sql-server-tuning-blog/post/21/variable-size-data-types-and-memory-grants ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 15:59 |
|
Выделение оперативной памяти на запрос
|
|||
---|---|---|---|
#18+
Ведущий профессионал И это может появляться после релоада сервера и через какое-то время самопроизвольно исчезать? нет, просто к слову пришлось ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 16:13 |
|
|
start [/forum/topic.php?fid=46&fpage=26&tid=1684779]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 311ms |
total: | 437ms |
0 / 0 |