Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Память Maximum Server < sum(Workspace) ?
|
|||
|---|---|---|---|
|
#18+
Что происходит, когда приходит несколько запросов, требующих в сумме workspace memory больше, чем дано серверу? Превышающие доступную память ждут, не накладывая блокировки на данные? BOLDegree of Parallelism (Integer Data) The amount of "workspace memory" in kilobytes that the query has been granted to perform operations involving hashing, sorts or create index operations. The memory will be acquired during execution as needed. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2019, 17:27 |
|
||
|
Память Maximum Server < sum(Workspace) ?
|
|||
|---|---|---|---|
|
#18+
tunknown, Ну как я это понимаю: Память выделяется исходя из "текущей"(ну практически) доступной. Если запрос начал и памяти не хватило - в tempdb, если не хватает то будет висеть ожидание RESOURCE_SEMAPHORE. До выделения ресурсов ничего не блокирует. Но может я и не прав ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2019, 17:42 |
|
||
|
Память Maximum Server < sum(Workspace) ?
|
|||
|---|---|---|---|
|
#18+
tunknown, какие уж блокировки, если запрос не может получить затребованную память. Насколько я видел, картина такая: жирные запросы забирают грантами большую часть память, а мелкие запросы "толкаются локтями" и ждут очереди. При этом производительность для многих пользователей значительно снижается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2019, 17:54 |
|
||
|
Память Maximum Server < sum(Workspace) ?
|
|||
|---|---|---|---|
|
#18+
TaPaKПамять выделяется исходя из "текущей"(ну практически) доступной. Если запрос начал и памяти не хватило - в tempdb, если не хватает то будет висеть ожидание RESOURCE_SEMAPHORE. До выделения ресурсов ничего не блокирует. Но может я и не прав wait_typewaiting_tasks_countwait_time_msmax_wait_time_mssignal_wait_time_msRESOURCE_SEMAPHORE0000SOSHOST_SEMAPHORE0000CLR_SEMAPHORE0000RESOURCE_SEMAPHORE_MUTEX0000RESOURCE_SEMAPHORE_QUERY_COMPILE0000DISPATCHER_QUEUE_SEMAPHORE1748749223652059261149131DISPATCHER_PRIORITY_QUEUE_SEMAPHORE0000PWAIT_RESOURCE_SEMAPHORE_FT_PARALLEL_QUERY_SYNC0000 Видно ли здесь что? К сожалению, сервер был перезагружен. Та ситуация пока не повторялась. Владислав Колосовкакие уж блокировки, если запрос не может получить затребованную память. Насколько я видел, картина такая: жирные запросы забирают грантами большую часть память, а мелкие запросы "толкаются локтями" и ждут очереди. При этом производительность для многих пользователей значительно снижается. Так и есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2019, 18:37 |
|
||
|
Память Maximum Server < sum(Workspace) ?
|
|||
|---|---|---|---|
|
#18+
tunknown, Вы увидите большие ожидания RESOURCE_SEMAPHORE, это ни с чем не спутаешь. Ну и как уже сказали, блокировок данных не будет, процессы будут ждать выделения памяти перед тем как начнется выполнение. Быстро будут выполнятся только запросы попадающие в Small Resource Semaphore (стоимость меньше 3 и требующие памяти меньше 5МБ). Если вам нужно увидеть что в общем происходит с памятью в настоящий момент, то попробуйте приаттаченный запрос. В вашем случае будет примерно следующее: "Memory Grants Pending" > 0 "Granted Workspace Memory" будет приближаться к "Maximum Workspace Memory" При этом, если сервер очень сильно переоценил количество строк то "Used Workspace Memory" может быть ощутимо меньше чем "Granted Workspace Memory". Но все равно процессы будут ждать, потому что уже выделенная память не вернется в пул пока не завершится запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 03:55 |
|
||
|
Память Maximum Server < sum(Workspace) ?
|
|||
|---|---|---|---|
|
#18+
MindЕсли вам нужно увидеть что в общем происходит с памятью в настоящий момент, то попробуйте приаттаченный запрос.Благодарю, замечательный запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 09:31 |
|
||
|
Память Maximum Server < sum(Workspace) ?
|
|||
|---|---|---|---|
|
#18+
tunknown, кстати, если вы можете выделить запросы которые убивают вашу память, то вполне решение через resource governor выделить под них пул и пусть сами толкаются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 09:42 |
|
||
|
Память Maximum Server < sum(Workspace) ?
|
|||
|---|---|---|---|
|
#18+
tunknown, настройте resource governor, если гранты намного больше фактического использования и нет возможности заниматься микротюнингом запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2019, 17:13 |
|
||
|
Память Maximum Server < sum(Workspace) ?
|
|||
|---|---|---|---|
|
#18+
TaPaKкстати, если вы можете выделить запросы которые убивают вашу память, то вполне решение через resource governor выделить под них пул и пусть сами толкаютсяПоверхностно почитал на эту тему. Не уверен, что смогу. OLTP приложение гонит малотребующие и многотребующие запросы в одном действии. Эти действия выполняют почти все пользователи. Пока не ясно как разделить. Кстати, что будет на Express, если запрос на Standard требует, например, 4.5ГБ памяти? Существуют ли запросы(без хинтов), которые Express не может выполнить, а Standard может, пусть и с другим автоматическим планом от оптимизатора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2019, 10:10 |
|
||
|
Память Maximum Server < sum(Workspace) ?
|
|||
|---|---|---|---|
|
#18+
tunknown, oltp и 4,5Гб запросы :) авторExpress не может выполнить, а Standard может, пусть и с другим автоматическим планом от оптимизатора. почему не сможет? для всего остального есть mastercardtempdb ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2019, 10:44 |
|
||
|
Память Maximum Server < sum(Workspace) ?
|
|||
|---|---|---|---|
|
#18+
tunknown, требует и потребляет - две большие разницы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2019, 11:26 |
|
||
|
Память Maximum Server < sum(Workspace) ?
|
|||
|---|---|---|---|
|
#18+
tunknownКстати, что будет на Express, если запрос на Standard требует, например, 4.5ГБ памяти? Существуют ли запросы(без хинтов), которые Express не может выполнить, а Standard может, пусть и с другим автоматическим планом от оптимизатора. sys.dm_exec_query_memory_grants required_memory_kb - Minimum memory required to run this query in kilobytes. requested_memory_kb is the same or larger than this amount. - Обычно это пара мегабайт, то без чего запрос вообще не сможет выполниться, все что не влезет просто будет "сливаться" в tempdb. requested_memory_kb - Total requested amount of memory in kilobytes. granted_memory_kb - Total amount of memory actually granted in kilobytes. Can be NULL if the memory is not granted yet. For a typical situation, this value should be the same as requested_memory_kb. used_memory_kb - Physical memory used at this moment in kilobytes. По дефолту, requested_memory_kb не может быть больше 25% от Maximum Workspace Memory. Чем меньше памяти на сервере тем меньше будет запрошено. При таких настройках на сервере не может одновременно выполнятся больше 4-х тяжелых запросов, на практике это обычно 3, остальные уже не влазят. Поменяйте в RG для дефолтного пула [Memory grant %] с 25% на 10% и у вас будет выполнятся одновременно 9-10 таких запросов и можно ничего не делить на разные пулы. Естественно если такие запросы реально потребляют столько памяти (used_memory_kb), то выполнятся они будут медленнее. Зато все остальное не встянет колом. Ну и ждите повышенной нагрузки на tempdb. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2019, 21:05 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39773187&tid=1688299]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 363ms |

| 0 / 0 |
