powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
67 сообщений из 67, показаны все 3 страниц
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902114
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На сервере стоит :Microsoft SQL Server 2016 (RTM) - 13.0.1601.5 (X64) Apr 29 2016 23:23:58 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows Server 2016 Standard 6.3 <X64> (Build 14393: )
А также 1с8 с размером базы 17гб. Почему-то sql "жрет" только 10-12 Гб, хотя в настройках мах стоит 34 000 Мб. Куда копать и что можно сделать?
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902129
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так или ему не надо (размер базы какой, 1Гб?)
или он на виртуалке и 34 это не доступная память,
а только то, что вы думаете о реально доступной памяти
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902135
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123,

Размер базы 17 ГБ, всего 48Гб оперативно памяти на сервере. Раньше sql использовал всю память какую выделишь(было все на 2008 сервере), после перехода на 2016 стал кушать только 10-12Гб, выше не подымается. Если сервер не перезагрузишь, то на следующий день 1с очень сильно начинает лагать
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902142
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще при такой мизерной базе и 10Гб хватит.
но покажите, какое у вас PLE:
Код: sql
1.
2.
3.
4.
5.
SELECT [object_name],
[counter_name],
[cntr_value] FROM sys.dm_os_performance_counters
WHERE [object_name] LIKE '%Manager%'
AND [counter_name] = 'Page life expectancy'
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902144
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123,

object_name counter_name cntr_value
SQLServer:Buffer Manager Page life expectancy 26543
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902146
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei
Yasha123,

object_name counter_name cntr_value
SQLServer:Buffer Manager Page life expectancy 26543
То есть вся база в памяти.
Значит, хватает 10-12 гигов.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902147
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

Значит повода для паники нет? Значит лагает 1с?
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902152
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei
alexeyvg,

Значит повода для паники нет? Значит лагает 1с?
Не обязательно сиквел не лагает, но конкретно про память - да, все данные в кэше.

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

А лагать сиквел может ещё из за блокировок, или неоптимального плана.
Это нужно смотреть отдельно.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902153
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

блокировку страниц памяти - включал и выключал
мониторинг делал и через Perfmon и через Монитор активности SQl
неоптимального плана - это что имеете ввиду? План обслуживание?
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902154
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ожидания покажите.
вот тут есть скрипт, выполните его и покажите результат.
можно картинкой.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902155
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei
alexeyvg,

блокировку страниц памяти - включал и выключал
мониторинг делал и через Perfmon и через Монитор активности SQl
неоптимального плана - это что имеете ввиду? План обслуживание?
Ну, кнопки "сделать быстро", или переключателя "замедлять запросы", в сиквеле нет :-)
"неоптимального плана" - имеется в виду неоптимальный план выполнения запроса. По разным причинам один и тот же запрос на одних и тех же данных может выполняться 10 мс, а может 10 с

Нужно искать конкретные причины тормозов. Специалист нужен, как ни странно. Когда что то случается, люди обычно ищут специалиста :-)

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

Ещё важно знать, для понимания - вдруг стало резко плохо, или постепенно всё становилось медленнее и медленнее?
Если первое - то нужно подумать, что поменяли :-)
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902158
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei,

Ещё бывают разочарования при переходе на новый сервер.
"Ах, мы купили новый сервер, там 48 гигов вместо 8 у старого, а всё осталось по прежнему, и даже хуже" - у вас не этот случай?
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902159
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg
hichnik_andrei,

Ещё бывают разочарования при переходе на новый сервер.
"Ах, мы купили новый сервер, там 48 гигов вместо 8 у старого, а всё осталось по прежнему, и даже хуже" - у вас не этот случай?


Да именно такой
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902163
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei
alexeyvg
hichnik_andrei,

Ещё бывают разочарования при переходе на новый сервер.
"Ах, мы купили новый сервер, там 48 гигов вместо 8 у старого, а всё осталось по прежнему, и даже хуже" - у вас не этот случай?


Да именно такой
Во первых, нужно обновить статистику после "переезда".
Во вторых, нетрадиционные админы (то есть девопсы) любят ставить всё на новые серверы через виртуалку, а её нужно уметь настраивать.
В третьих, на новых серверах любят использовать не быстрые диски с прямым подключением. а САНы, которые тоже нужно уметь настраивать.
В четвёртых, при не очень большой нагрузке бОльшую роль играет производительность ядра, и мЕньшую - количество ядер. Поэтому не всегда 64 ядерный новый сервер будет быстрее старого 8 ядерного.
Да, ещё в пятых - иногда, при апгрэйде железа, ещё обновляют версии софта (новые винды, новый сиквел), что ещё больше затрудняет настройку/наладку.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902164
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123
ожидания покажите.
вот тут есть скрипт, выполните его и покажите результат.
можно картинкой.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902168
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

1) Обновить статистику этим запросом? DBCC SQLPERF (N'sys.dm_os_wait_stats', CLEAR);
GO
2) На сервере виртуалка не разворачивалсь

3) Диски SSD в RAID

4) стоит Intel® Xeon® E5-2620 (2 процессора)
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902169
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei,

у вас ожидания копеешные.
по текущей картинке все ок.

ну или вы запрос запустили сразу после перезагрузки сервера.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902170
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да у вас блокировок воз и тележка,
вот почему рестарт и помогает.
надо смотреть, кто таблицы целиком лочит.
например, апдэйты миллиона строк на стейтмент
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902172
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei
alexeyvg,

1) Обновить статистику этим запросом? DBCC SQLPERF (N'sys.dm_os_wait_stats', CLEAR);
GO
2) На сервере виртуалка не разворачивалсь

3) Диски SSD в RAID

4) стоит Intel® Xeon® E5-2620 (2 процессора)

1) Нет, UPDATE STATISTICS
Или ребилд индекса
Или сделать план обслуживания для обновления статистики.
Или использовать Олину процедуру для оптимизации https://ola.hallengren.com/sql-server-index-and-statistics-maintenance.html

По 2,3,4 ок, считаем, что с железом всё нормально.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902173
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
felix_ff
hichnik_andrei,

у вас ожидания копеешные.
по текущей картинке все ок.

ну или вы запрос запустили сразу после перезагрузки сервера.


Еще магазины работаю, перезагрузка была по расписанию в 06 00
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902174
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Типовая практика для 1с или включать принудительное прослушивание параметров или выполнять DBCC FREEPROCCACHE.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902177
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,
Обслуживание базы происходит таким образом
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902178
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902180
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei
Обслуживание базы происходит таким образом
Аааа! Там Шринк делается???
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902181
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов
Типовая практика для 1с или включать принудительное прослушивание параметров или выполнять DBCC FREEPROCCACHE.

Выполняется каждый день в T-SQL запросе на скрине он есть
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902183
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg
hichnik_andrei
Обслуживание базы происходит таким образом
Аааа! Там Шринк делается???


Да
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902185
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123
да у вас блокировок воз и тележка,
вот почему рестарт и помогает.
надо смотреть, кто таблицы целиком лочит.
например, апдэйты миллиона строк на стейтмент


Как-нибудь точнее можно?
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902187
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei
alexeyvg
пропущено...
Аааа! Там Шринк делается???


Да
Шринк вообще говоря операция аварийная, как, например, рестор базы.

Если вы его делаете для файлов базы, то это замедляет работу базы из за сильной фрагментации.
Если вы его делаете для файлов лога, то это замедляет работу базы из за необходимости увеличивать лог после уменьшения.
Особенно печально, если для файла установлено маленькое автоувеличение, например, 1 мб - тогда этом может вызывать заметное замедление.
Идеально - установить достаточные размеры файлов базы, и шринк не делать.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902188
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei,

ну шринк конечно зло, но это не объясняет поведения почему после рестарта как ТС говорит проблема исчезает.

покажите на всякий случай
Код: sql
1.
select /*[name],*/ [is_auto_shrink_on], [is_auto_update_stats_on], [is_auto_update_stats_async_on], [is_parameterization_forced], [log_reuse_wait_desc] from sys.databases;



вам бы диагностику проводить именно тогда когда вы на сервере реально наблюдаете проблемы производительности.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902190
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

Да шаг 1Мб, сколько лучше сделать?
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902194
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно включить оценку унаследованную кратности (legacy cardinality estimation) для базы и понаблюдать. Если поможет - то так и оставить.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902195
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot felix_ff#22039191]hichnik_andrei,

покажите на всякий случай
Код: sql
1.
select /*[name],*/ [is_auto_shrink_on], [is_auto_update_stats_on], [is_auto_update_stats_async_on], [is_parameterization_forced], [log_reuse_wait_desc] from sys.databases;
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902196
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei,

давайте уж в догонку тогда подробности глянем:
Код: sql
1.
2.
3.
4.
5.
6.
select [counter_name], [instance_name], [cntr_value] from sys.dm_os_performance_counters where [object_name] = 'SQLServer:Locks' and [counter_name] in ('Lock Requests/sec', 'Lock Timeouts/sec', 'Number of Deadlocks/sec', 'Lock Waits/sec')
union
select [counter_name], [instance_name], [cntr_value] from sys.dm_os_performance_counters where [object_name] = 'SQLServer:Databases' and [counter_name] in ('Log Flush Waits/sec', 'Log Flush Wait Time')
union
select [counter_name], [instance_name], [cntr_value] from sys.dm_os_performance_counters where [object_name] = 'SQLServer:Wait Statistics'
order by [counter_name], [instance_name], [cntr_value] desc
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902198
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
felix_ff,

пару мин и сброшу, бэкап по расписанию делается
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902202
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
felix_ff
hichnik_andrei,

Код: sql
1.
2.
3.
4.
5.
6.
select [counter_name], [instance_name], [cntr_value] from sys.dm_os_performance_counters where [object_name] = 'SQLServer:Locks' and [counter_name] in ('Lock Requests/sec', 'Lock Timeouts/sec', 'Number of Deadlocks/sec', 'Lock Waits/sec')
union
select [counter_name], [instance_name], [cntr_value] from sys.dm_os_performance_counters where [object_name] = 'SQLServer:Databases' and [counter_name] in ('Log Flush Waits/sec', 'Log Flush Wait Time')
union
select [counter_name], [instance_name], [cntr_value] from sys.dm_os_performance_counters where [object_name] = 'SQLServer:Wait Statistics'
order by [counter_name], [instance_name], [cntr_value] desc



Модератор: Вложение удалено.

Модератор: Вложение удалено.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902203
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei,

вы если в текущий (прямо сейчас) момент проблемы с производительностью наблюдаете

то используйте или процедуру sp_WhoIsActive она информативнее
или прям запрос выполните:
Код: sql
1.
2.
3.
4.
  select [session_id], [exec_context_id], [blocking_session_id], [blocking_exec_context_id], [wait_duration_ms], [wait_type], [resource_description] 
  from sys.dm_os_waiting_tasks 
  where [blocking_session_id] is not null 
     or [wait_duration_ms] > 10000



если возвращаются строки с каким либо достаточно долгим wait_type надо предметно разбираться что и кого сессии ждут.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902205
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei,

картинка для китайцев. вы сами можете разобрать что там нарисованно? :)
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902207
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
felix_ff,

редактировал уже)))
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902208
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
felix_ff,
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902209
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
felix_ff,
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902236
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei
Yasha123
да у вас блокировок воз и тележка,
вот почему рестарт и помогает.
надо смотреть, кто таблицы целиком лочит.
например, апдэйты миллиона строк на стейтмент


Как-нибудь точнее можно?

статистику соберите хотя бы за сутки,
т.е. не рестарьте сервер каждый час.
но даже за короткий период у вас на первом месте LCK_M_IX.
значит, или на страницы, или на таблицы целиком ждут IХ.
это означает, что кто-то апдэйтит тучу строк за 1 стэйтмент,
раз там уже чей-то Х
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902237
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei
Да шаг 1Мб, сколько лучше сделать?

Шаг 1 Гб, нормально.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902239
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei,

Счётчики (и вообще результаты запросов) лучше копировать из SSMS, и выкладывать в таблице CSV=t и в спойлере:
Lock Requests/sec _Total 52260990Lock Requests/sec AllocUnit 1Lock Requests/sec Application 250Lock Requests/sec Database 18206841Lock Requests/sec Extent 7874Lock Requests/sec File 742Lock Requests/sec HoBT 6959Lock Requests/sec Key 18109556Lock Requests/sec Metadata 7977709Lock Requests/sec Object 7903269Lock Requests/sec OIB 0Lock Requests/sec Page 38203Lock Requests/sec RID 9586Lock Requests/sec RowGroup 0Lock Timeouts/sec _Total 417Lock Timeouts/sec AllocUnit 0Lock Timeouts/sec Application 0Lock Timeouts/sec Database 0Lock Timeouts/sec Extent 0Lock Timeouts/sec File 0Lock Timeouts/sec HoBT 0Lock Timeouts/sec Key 413Lock Timeouts/sec Metadata 2Lock Timeouts/sec Object 2Lock Timeouts/sec OIB 0Lock Timeouts/sec Page 0Lock Timeouts/sec RID 0Lock Timeouts/sec RowGroup 0Lock waits Average wait time (ms) 0Lock waits Cumulative wait time (ms) per second 0Lock waits Waits in progress 0Lock waits Waits started per second 0Lock Waits/sec _Total 727Lock Waits/sec AllocUnit 0Lock Waits/sec Application 0Lock Waits/sec Database 16Lock Waits/sec Extent 0Lock Waits/sec File 0Lock Waits/sec HoBT 0Lock Waits/sec Key 7Lock Waits/sec Metadata 10Lock Waits/sec Object 694Lock Waits/sec OIB 0Lock Waits/sec Page 0Lock Waits/sec RID 0Lock Waits/sec RowGroup 0Log buffer waits Average wait time (ms) 0Log buffer waits Cumulative wait time (ms) per second 0Log buffer waits Waits in progress 0Log buffer waits Waits started per second 0Log Flush Wait Time _Total 6809Log Flush Wait Time db1 4Log Flush Wait Time db2 0Log Flush Wait Time distribution 1278Log Flush Wait Time DWConfiguration 7Log Flush Wait Time DWDiagnostics 0Log Flush Wait Time DWH_STAGE 5Log Flush Wait Time DWQueue 0Log Flush Wait Time LibRusEc 5Log Flush Wait Time LinkedIn 6Log Flush Wait Time master 1944Log Flush Wait Time MLS 0Log Flush Wait Time model 0Log Flush Wait Time msdb 3486Log Flush Wait Time mssqlsystemresource 0Log Flush Wait Time ReportServer 2Log Flush Wait Time ReportServerTempDB 1Log Flush Wait Time SSISDB 4Log Flush Wait Time tempdb 2Log Flush Wait Time test 19Log Flush Wait Time test_mydb1 2Log Flush Wait Time TestBackupRestore 2Log Flush Wait Time TestPartition 0Log Flush Wait Time Tfs_DefaultCollection 34Log Flush Wait Time user_sysres 8Log Flush Waits/sec _Total 14992Log Flush Waits/sec db1 3Log Flush Waits/sec db2 3Log Flush Waits/sec distribution 3506Log Flush Waits/sec DWConfiguration 3Log Flush Waits/sec DWDiagnostics 2Log Flush Waits/sec DWH_STAGE 2Log Flush Waits/sec DWQueue 2Log Flush Waits/sec LibRusEc 4Log Flush Waits/sec LinkedIn 2Log Flush Waits/sec master 6740Log Flush Waits/sec MLS 3Log Flush Waits/sec model 5Log Flush Waits/sec msdb 4646Log Flush Waits/sec mssqlsystemresource 0Log Flush Waits/sec ReportServer 3Log Flush Waits/sec ReportServerTempDB 2Log Flush Waits/sec SSISDB 4Log Flush Waits/sec tempdb 18Log Flush Waits/sec test 26Log Flush Waits/sec test_mydb1 3Log Flush Waits/sec TestBackupRestore 3Log Flush Waits/sec TestPartition 2Log Flush Waits/sec Tfs_DefaultCollection 8Log Flush Waits/sec user_sysres 2Log write waits Average wait time (ms) 0Log write waits Cumulative wait time (ms) per second 0Log write waits Waits in progress 0Log write waits Waits started per second 0Memory grant queue waits Average wait time (ms) 0Memory grant queue waits Cumulative wait time (ms) per second 0Memory grant queue waits Waits in progress 0Memory grant queue waits Waits started per second 0Network IO waits Average wait time (ms) 0Network IO waits Cumulative wait time (ms) per second 0Network IO waits Waits in progress 0Network IO waits Waits started per second 0Non-Page latch waits Average wait time (ms) 0Non-Page latch waits Cumulative wait time (ms) per second 0Non-Page latch waits Waits in progress 0Non-Page latch waits Waits started per second 0Number of Deadlocks/sec _Total 0Number of Deadlocks/sec AllocUnit 0Number of Deadlocks/sec Application 0Number of Deadlocks/sec Database 0Number of Deadlocks/sec Extent 0Number of Deadlocks/sec File 0Number of Deadlocks/sec HoBT 0Number of Deadlocks/sec Key 0Number of Deadlocks/sec Metadata 0Number of Deadlocks/sec Object 0Number of Deadlocks/sec OIB 0Number of Deadlocks/sec Page 0Number of Deadlocks/sec RID 0Number of Deadlocks/sec RowGroup 0Page IO latch waits Average wait time (ms) 1Page IO latch waits Cumulative wait time (ms) per second 0Page IO latch waits Waits in progress 0Page IO latch waits Waits started per second 3Page latch waits Average wait time (ms) 0Page latch waits Cumulative wait time (ms) per second 0Page latch waits Waits in progress 0Page latch waits Waits started per second 0Thread-safe memory objects waits Average wait time (ms) 0Thread-safe memory objects waits Cumulative wait time (ms) per second 0Thread-safe memory objects waits Waits in progress 0Thread-safe memory objects waits Waits started per second 0Transaction ownership waits Average wait time (ms) 0Transaction ownership waits Cumulative wait time (ms) per second 0Transaction ownership waits Waits in progress 0Transaction ownership waits Waits started per second 0Wait for the worker Average wait time (ms) 0Wait for the worker Cumulative wait time (ms) per second 0Wait for the worker Waits in progress 0Wait for the worker Waits started per second 0Workspace synchronization waits Average wait time (ms) 0Workspace synchronization waits Cumulative wait time (ms) per second 0Workspace synchronization waits Waits in progress 0Workspace synchronization waits Waits started per second 0
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902246
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei
На сервере стоит :Microsoft SQL Server 2016 (RTM) - 13.0.1601.5 (X64)

не помешает поставить хотя бы второй сервис-пак
https://sqlserverbuilds.blogspot.com/#sql2016x
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902257
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123
hichnik_andrei
пропущено...


Как-нибудь точнее можно?

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


у него там их всего 40 штук и общее время ожидания было 26 секунд на все IX.
по первому скрину я бы сказал что система особо ничего и не ждет.

А вот по счетчикам можно предположить следующее:

в топах запросов блокировок два типа: Metadata и Object
на metadata причем приходится порядка 38% процентов запросов на блокировки.
на базе включен auto_update_statistics, предположительно в бд преобладает в основном Ad-Hoc нагрузка что дает такую значительную разницу в типах блокировок на метаданные. (вообще метаданных хренова туча может лочиться но чаще всего лично мне встречался stats)

на втором месте object и только после него Key следовательно достаточно часто запросы идут с локом всей кучи/кластера.
RID блокировок мало Key много, в целом по базе преобладают кластеризованные таблицы.
таймауты в основном по блокировкам ключей правда может там вообще nowait типы я с счетчиком промазал немного.


итого имхо:
по видимому у вас в бд возникают достаточно часто сканирующие запросы при этом скорее всего это ad-hoc.
Вам необходимо посмотреть степень преобладающей нагрузки на базу:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
with x as (
    select
	      pool_id,
		  cacheobjtype,
		  objtype,
		  size_in_bytes,
		  refcounts,
		  usecounts,
	      sum([size_in_bytes]) over (partition by pool_id, cacheobjtype, objtype order by 1/0) * 100 / sum([size_in_bytes]) over () as [percentage]
   from sys.dm_exec_cached_plans
)
select pool_id, 
	   cacheobjtype,
	   objtype,
       sum(size_in_bytes) as [bytes],
	   sum(refcounts) as refs,
	   count(1) as cnt,
	   sum(usecounts) as [uses],
	   max(percentage) as [percentage]
from x
group by pool_id, cacheobjtype, objtype



если процентно преобладает Adhoc посмотрите в сторону
Код: sql
1.
sp_configure 'optimize for ad hoc workloads'


если 0 можно поставить в 1

необходимо предметно смотреть почему так часто вызываеются блокировки объектов вместо ключей => недостающие/неоптимальные индексы на таблицах

если ad-hod нагрузка значительно преобладает над Proc, и вы знаете что на бд много пишушей нагрузки то auto_update_stats на базе можно или перевести в асинхронную модель или отключить и вешать отдельный джоб на обновление статистики.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902325
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
если ad-hod нагрузка значительно преобладает над Proc, и вы знаете что на бд много пишушей нагрузки то auto_update_stats на базе можно или перевести в асинхронную модель или отключить и вешать отдельный джоб на обновление статистики.
У ТС в плане обслуживания обновление статистики; конечно, auto_update_stats нужно отключить.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902359
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff

у него там их всего 40 штук и общее время ожидания было 26 секунд на все IX.
по первому скрину я бы сказал что система особо ничего и не ждет.

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

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

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

felix_ff

необходимо предметно смотреть почему так часто вызываеются блокировки объектов вместо ключей => недостающие/неоптимальные индексы на таблицах

вот именно.
причем индексы могут даже и быть, но если способные граждане миллионы разом апдэйтят,
никакие индексы не спасут
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902647
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сегодня опять сервер начал тормозить, а потом выдал ошибку 1с
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902658
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но это же 1С не хватило памяти, а не серверу.
а вы еще и недовольны, что сервер мало отъел.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902660
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei,
ну вот и причина тормозов. Только к sql это не имеет ни малейшего отношения. Ибо это проблемы сервера 1с.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902663
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотрите сейчас кто сколько памяти занимает,
вам бы наоборот, сиквел ограничить,
или еще кого прожорливого
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902684
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123,
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902686
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902691
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну может у этого 1С тоже есть настройка max memory.
и ее кто-то неправильно выставил.
это надо в форум по 1С с тем же вопросом:
память не ест, зато жалуется, что не хватает.
---
сиквелу вашему хватает.
и он не кричит, что ему не хватило
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902703
0wl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0wl
Гость
В статистике ожиданий на втором месте LCK_M_RIn_NL -- то есть, в базе есть блокировки по диапазону, а это признак "Автоматического режима блокировок", который большую часть запросов выполняет в Repeatable Read и Serializable

Надо переводить базу на управляемые блокировки, которые работают более гранулярно и отправляют в СУБД уже Read Committed (или даже RCSI, в зависимости от версии платформы). Иначе блокировки будут душить результаты других улучшений.

---

У 1С в настройках сервера есть несколько настроек, ограничивающих память. Самое дурацкое, что "максимальный объем памяти рабочих процессов" задается в байтах . Поэтому многие часто ошибаются на 3 порядка и ловят подобные ошибки.

--

Вообще у того же 1С на ИТС была статья о "лучших практиках" при работе с MS SQL. Многие вещи уже на уровне среднего бизнеса там выглядят спорными, но для базы в 10 Гб -- в самый раз
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902724
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда голосую за добавление трех нулей в настройки 1С
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902910
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123
тогда голосую за добавление трех нулей в настройки 1С

Походу мимо )
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902913
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei,

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

ну и когда тормоза на сервере начинаются посмотрите ожидания на сервере (скрипт я кидал), но мне кажется вряд ли у вас именно сиквел всему виной
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902916
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
  select [session_id], [exec_context_id], [blocking_session_id], [blocking_exec_context_id], [wait_duration_ms], [wait_type], [resource_description] 
  from sys.dm_os_waiting_tasks 
  where [blocking_session_id] is not null 
     or [wait_duration_ms] > 10000


Сделал как только начало все лагать
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902926
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei,

Сколько раз запускали? Я порог ожидания в 10 секунд воткнул может у вас конечно короче ожидания.

Но вот по этому скрину нету блокировок у вас. Те ожидания которые показаны это в основном все системное и показатели для них тоже в норме. Не в сиквеле дело.

Кстати раз у вас включен QueryStore вы в ней можете посмотреть топ самых тяжелых запросов в БД. (если она конечно включена на тормозящей базе)
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902928
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot felix_ff#22040253]hichnik_andrei,

Сколько раз запускали?


Один раз
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902933
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hichnik_andrei,

на будущее: когда пытаетесь понять причину проблем, убедитесь что вы действительно ее определили а не ошиблись.
поэтому почти любой скрипт для диагностики (если он конечно выполняется сравнительно быстро) надо запускать несколько раз. иначе вы ограничиваете свои возможности сделать правильный вывод слишком узкими критериями аналитической информации.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902939
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начните с простого - отключите pagefile в системе.
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902956
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot hichnik_andrei#22040257]
felix_ff
hichnik_andrei,

Сколько раз запускали?


Один раз
а что вы вообще пытались выявить этим запросом? Блокировки?
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902957
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001
Начните с простого - отключите pagefile в системе.
Зачем?
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39902968
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
spas2001
Начните с простого - отключите pagefile в системе.


Отключил, завтра посмотрим
...
Рейтинг: 0 / 0
Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
    #39903188
hichnik_andrei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot hichnik_andrei#22040327]
spas2001
Начните с простого - отключите pagefile в системе.


После отключения второй день - полет нормальный! Спасибо! Если будут сбои отпишу обязательно!
...
Рейтинг: 0 / 0
67 сообщений из 67, показаны все 3 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите! Sql не использует вместо 34гб только 10-12 Гб оперативной памяти.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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