powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / анализ производительности сервера
32 сообщений из 32, показаны все 2 страниц
анализ производительности сервера
    #39811350
_human
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
приветствую

вопрос больше к DBA

есть некий "тяжелый" запрос который согласно оценке завершиться дней через 30...)

там чудо-курсор делающий merge в таблицу 20гб данных + 45гб индексов
переписать ничего нельзя

собсна, блокировок нет, паралельно ничего не выполняется, фрагментации нет, статистика обновлена, план выполнения ок.

Код: plaintext
1.
Microsoft SQL Server 2017 (RTM-GDR) (KB4293803) - 14.0.2002.14 (X64)   Jul 21 2018 07:47:45   
Copyright (C) 2017 Microsoft Corporation  Enterprise Edition: Core-based Licensing (64-bit) on Windows Server 2016 Standard 10.0 <X64> (Build 14393: ) (Hypervisor) 

32гб ram
16 cores

целевая БД хранится на диске HP LOGICAL VOLUME SCSI

Maximum server memory 16295MB

подскажите какие показатели/счетчики сервера стоит глянуть ?
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39811417
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_human,

в курсоре там позаписная обработка что ли?

ну посмотрите общие ОС типа цпу, памяти, очереди к дискам,
в сиквеле динамику PLE, к примеру , latency , динамику чекпойтов , кол-во батчей в секунду
в errorlog гляньте на предмет delayed IO

вот у товарища Глена Берри неплохая подборка диагностических скриптов
https://www.sqlskills.com/blogs/glenn/category/dmv-queries/
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39811558
_human
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

komradв курсоре там позаписная обработка что ли?
кусками размером от 20-50'000

Queue length в основном до 2-5-и когда пишет в 1-н файл БД, но бывает и до 20-50-и когда читает/пишет в 2-а
о самом storage device инфы нет
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39811560
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_humanподскажите какие показатели/счетчики сервера стоит глянуть ?Ну вот, Queue length большая, дисковая система является узким местом.
А вообще, если "переписать ничего нельзя", следует обращаться к производителю, вряд ли выполнение процедуры за 30 дней - это нормально.
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39811568
_human
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,

сейчас создаются индексы активная запись в файл БД и лог.
очередь до 2000 Response time прыгает 500-600 ms

насколько эти показатели вписываются в нормальные показатели ?
есть подозрение что оптимизированный код не даст прироста в производительности
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39811577
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_human,

Если оптимизированный код уберет ваши узкие места, то почему бы и нет?
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39811583
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_humankomrad,

komradв курсоре там позаписная обработка что ли?
кусками размером от 20-50'000

Queue length в основном до 2-5-и когда пишет в 1-н файл БД, но бывает и до 20-50-и когда читает/пишет в 2-а
о самом storage device инфы нет

+ посмотрите какие waits у вас набегают в процессе работы запроса/сессии
https://www.mssqltips.com/sqlservertip/4078/getting-per-session-wait-statistics-in-sql-server-2016/
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39811585
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_humanсейчас создаются индексы активная запись в файл БД и лог.
очередь до 2000 Response time прыгает 500-600 ms

насколько эти показатели вписываются в нормальные показатели ?Во время построения инедксов нормально, как я думаю.
_humanесть подозрение что оптимизированный код не даст прироста в производительностиМожет даст, может нет, это только вы можете сказать.
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39811833
_human
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
wait_type                                                    waiting_tasks_count  wait_time_ms         max_wait_time_ms     signal_wait_time_ms  Session_Id waiting_tasks_count  wait_time_ms         max_wait_time_ms     signal_wait_time_ms
------------------------------------------------------------ -------------------- -------------------- -------------------- -------------------- ---------- -------------------- -------------------- -------------------- --------------------
LATCH_SH                                                     17714                1336614              3324                 970                  71         768                  130                  2                    17
LATCH_EX                                                     3730573              344192728            300004               194307               71         152675               687383               1601                 17677
PAGELATCH_SH                                                 295733               89074                2714                 10603                71         12                   0                    0                    0
PAGELATCH_UP                                                 89236                211720               2888                 8288                 71         81                   125                  80                   2
PAGELATCH_EX                                                 4039328              884120               2058                 72383                71         15                   12                   3                    0
PAGEIOLATCH_SH                                               116028512            5991946107           18040                2641455              71         10602                104953               1333                 285
PAGEIOLATCH_UP                                               134334               3065584              3405                 2333                 71         241                  596                  48                   2
PAGEIOLATCH_EX                                               15137563             329117509            19750                103281               71         10858                107384               3023                 61
IO_COMPLETION                                                934598               7070464              11484                6666                 71         18037                2871                 36                   86
SLEEP_TASK                                                   18765157             1710218631           5012                 937069               71         42688                167                  3                    157
SOS_SCHEDULER_YIELD                                          107674682            9554099              2554                 9471123              71         40163                986                  12                   963
WRITELOG                                                     9275027              15184197             5180                 244702               71         14844                4350                 168                  348
CMEMTHREAD                                                   614546               17930                140                  15491                71         92367                2425                 5                    2083
CXPACKET                                                     14297055755          20840031441          6083053              636572583            71         5302812446           6508795061           458150               262636023
EXECSYNC                                                     61554                93352564             6083056              2198                 71         978                  103                  0                    16
CXROWSET_SYNC                                                1077                 92                   1                    20                   71         61                   4                    0                    1
PREEMPTIVE_OS_FILEOPS                                        22973                116140               6164                 0                    71         79                   47                   1                    0
PREEMPTIVE_OS_FLUSHFILEBUFFERS                               3085                 3906                 3143                 0                    71         79                   4                    0                    0
PREEMPTIVE_OS_GETDISKFREESPACE                               3159                 459                  8                    0                    71         79                   10                   0                    0
PREEMPTIVE_OS_WRITEFILEGATHER                                1147                 98667                10851                0                    71         79                   81                   2                    0
WRITE_COMPLETION                                             2042                 537                  128                  7                    71         79                   8                    0                    0
MEMORY_ALLOCATION_EXT                                        5544760572           4480403              1665                 0                    71         2466094              2385                 3                    0
RESERVED_MEMORY_ALLOCATION_EXT                               43561376             68251                1054                 0                    71         720670               490                  2                    0
SESSION_WAIT_STATS_CHILDREN                                  207365               123843               41                   19378                71         82172                36559                41                   5393

(24 rows affected)



alexeyvg,

единственное наколенное решение это ручками переместить весь этот обьем ручками - партиционирование, благо версия позволяет
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39811946
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_humanесть подозрение что оптимизированный код не даст прироста в производительности

Действительно. Если 60 Гб да на 30 дней... Значится 2 Гб в день... 83 мб в час... 1 мб в минуту...

_human32гб ram
16 cores


У вас там сервер картошку не чистит параллельно с перекурами?
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812440
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_humankomrad,

SELECT OS.* ,
S.Session_Id ,
S.waiting_tasks_count ,
S.wait_time_ms ,
S.max_wait_time_ms ,
S.signal_wait_time_ms
FROM sys.dm_os_wait_stats OS
INNER JOIN sys.dm_exec_session_wait_stats S ON OS.wait_type = S.wait_type
WHERE S.session_id = 71
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
wait_type                                                    waiting_tasks_count  wait_time_ms         max_wait_time_ms     signal_wait_time_ms  Session_Id waiting_tasks_count  wait_time_ms         max_wait_time_ms     signal_wait_time_ms
------------------------------------------------------------ -------------------- -------------------- -------------------- -------------------- ---------- -------------------- -------------------- -------------------- --------------------
LATCH_SH                                                     17714                1336614              3324                 970                  71         768                  130                  2                    17
LATCH_EX                                                     3730573              344192728            300004               194307               71         152675               687383               1601                 17677
PAGELATCH_SH                                                 295733               89074                2714                 10603                71         12                   0                    0                    0
PAGELATCH_UP                                                 89236                211720               2888                 8288                 71         81                   125                  80                   2
PAGELATCH_EX                                                 4039328              884120               2058                 72383                71         15                   12                   3                    0
PAGEIOLATCH_SH                                               116028512            5991946107           18040                2641455              71         10602                104953               1333                 285
PAGEIOLATCH_UP                                               134334               3065584              3405                 2333                 71         241                  596                  48                   2
PAGEIOLATCH_EX                                               15137563             329117509            19750                103281               71         10858                107384               3023                 61
IO_COMPLETION                                                934598               7070464              11484                6666                 71         18037                2871                 36                   86
SLEEP_TASK                                                   18765157             1710218631           5012                 937069               71         42688                167                  3                    157
SOS_SCHEDULER_YIELD                                          107674682            9554099              2554                 9471123              71         40163                986                  12                   963
WRITELOG                                                     9275027              15184197             5180                 244702               71         14844                4350                 168                  348
CMEMTHREAD                                                   614546               17930                140                  15491                71         92367                2425                 5                    2083
CXPACKET                                                     14297055755          20840031441          6083053              636572583            71         5302812446           6508795061           458150               262636023
EXECSYNC                                                     61554                93352564             6083056              2198                 71         978                  103                  0                    16
CXROWSET_SYNC                                                1077                 92                   1                    20                   71         61                   4                    0                    1
PREEMPTIVE_OS_FILEOPS                                        22973                116140               6164                 0                    71         79                   47                   1                    0
PREEMPTIVE_OS_FLUSHFILEBUFFERS                               3085                 3906                 3143                 0                    71         79                   4                    0                    0
PREEMPTIVE_OS_GETDISKFREESPACE                               3159                 459                  8                    0                    71         79                   10                   0                    0
PREEMPTIVE_OS_WRITEFILEGATHER                                1147                 98667                10851                0                    71         79                   81                   2                    0
WRITE_COMPLETION                                             2042                 537                  128                  7                    71         79                   8                    0                    0
MEMORY_ALLOCATION_EXT                                        5544760572           4480403              1665                 0                    71         2466094              2385                 3                    0
RESERVED_MEMORY_ALLOCATION_EXT                               43561376             68251                1054                 0                    71         720670               490                  2                    0
SESSION_WAIT_STATS_CHILDREN                                  207365               123843               41                   19378                71         82172                36559                41                   5393

(24 rows affected)





судя по данным, у вас сессия сканирует что-то большое (таблица/индекс), которое находится полностью в буфере
к подобному может приводить неоптимальный план запроса (nested loops vs hash/merge joins) из-за устаревшей статистики, например
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812520
_human
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

Так и есть,
Только там статистика актуальная
А код кривой
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812537
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_humankomrad,

Так и есть,
Только там статистика актуальная
А код кривой
попробуйте ради интереса тот же самый запрос выполнить с хинтом
Код: sql
1.
option (maxdop 1, recompile)


шанс невелик, но может и быстрее сработать
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812566
_human
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,


komradвыполнить с хинтом
1-е что попробовал :D

30+ дней
там веб дев sql код написал..
case closed
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812573
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komradкоторое находится полностью в буфереНаоборот.
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812575
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmkomradкоторое находится полностью в буфереНаоборот.
почему?
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812577
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komradпочему?Там полно PAGEIOLATCH_* и IO_COMPLETION. Гораздо больше, чем PAGELATCH_
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812580
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmkomradпочему?Там полно PAGEIOLATCH_* и IO_COMPLETION. Гораздо больше, чем PAGELATCH_
не совсем так
в выборке джойн серверных (бежевое слева) ожиданий и сессионных (зеленое справа)
в зеленой части выделяется преимущественно только CXPACKET
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812585
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

а CXPACKET это типа чтение из буфера что ли?
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812590
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komradв зеленой части выделяется преимущественно только CXPACKETCXPACKET свидетельствует о параллелизме в запросе, а не о том, что данные читаются из BP.
И такое ожидание вообще генерируется всегда при праллельном плане.
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812595
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm,

остальные _сессионные_ ожидания очень малы, поэтому я и написал, что данные судя по всему в кэше
или я неправ?
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812604
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

Посмотрите, например, сессионные для PAGEIOLATCH_SH.
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812612
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmkomrad,

Посмотрите, например, сессионные для PAGEIOLATCH_SH.
это которые 10 тысяч?
они же копеечные

тогда уж LATCH_EX, которых в 7 раз больше
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812615
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
гадание без запроса, такое себе развлечение, там какой-нить кривой мерж и стоять может совесем не на ожиданиях а на блокировках и тп
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812617
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя то что нагенеривает 1С лучше и не смотреть
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812623
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komradэто которые 10 тысяч?
они же копеечные

тогда уж LATCH_EX, которых в 7 раз большеLATCH_EX не относится к BP
А наличие PAGEIOLATCH_* как раз и говорит, что, скорее всего, сканируемое не находится полностью в BP.
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812624
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmА наличие PAGEIOLATCH_* как раз и говорит, что, скорее всего, сканируемое не находится полностью в BP.
формально Вы правы
а по существу - это сущие копейки и общую картину не определяют
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812631
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komradформально Вы правы
а по существу - это сущие копейки и общую картину не определяютТак я не про общую картину. Я про наличие всех данных в BP.
А если выкинуть CXPACKET как незначащее, то PAGEIOLATCH_* дают порядка 20% ожиданий. Я бы не назвал это копейками.
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812638
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm,

ок, позиция понятна
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812662
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

А вообще говоря, в 71 сессии очень много параллелизма. И все остальные ожидания можно не рассматривать.
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812667
_human
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm,

так и есть
вьіключение может дает прирост но неощутимьій
спустя пару месяцев можно прийти проверить
...
Рейтинг: 0 / 0
анализ производительности сервера
    #39812699
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmkomrad,

А вообще говоря, в 71 сессии очень много параллелизма. И все остальные ожидания можно не рассматривать.
у меня ровно такое же ощущение
...
Рейтинг: 0 / 0
32 сообщений из 32, показаны все 2 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / анализ производительности сервера
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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