Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Тормозить SQL сервер. Не могу разобраться почему.  [new]
boo-mmx
Member

Откуда: Волгоград
Сообщений: 91
select @@version
Microsoft SQL Server 2005 - 9.00.3152.00 (Intel X86) Mar 3 2007 03:17:37 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 1)

dbcc sqlperf(waitstats)
Wait TypeRequestsWait TimeSignal Wait Time
CMEMTHREAD28012562
LCK_M_SCH_M33750
THREADPOOL6634210
LATCH_SH164680
LCK_M_SCH_S86710
SLEEP_SYSTEMTASK18590
CHKPT185915
CLR_CRST19210
PAGELATCH_UP2671000187
BACKUPTHREAD19238430
PAGELATCH_SH382051871171
BROKER_TASK_STOP2200000
CLR_MANUAL_EVENT27530437234
LCK_M_IX27506090
LOGBUFFER14217567501953
MSQL_XP8455617500
PAGEIOLATCH_UP2434140515171
RESOURCE_SEMAPHORE_QUERY_COMPILE51477500
LCK_M_X34228078109
BACKUPIO2733924884362
PAGELATCH_EX9514032401550203
LATCH_EX84400460
ASYNC_NETWORK_IO9182799154643968
PAGEIOLATCH_EX4027510570003125
IO_COMPLETION441604123275011406
WRITELOG245973145200025718
SLEEP_BPOOL_FLUSH489274322001517109
ASYNC_IO_COMPLETION4445512030
BACKUPBUFFER41165853828282921
OLEDB8.68E+00766331870
SOS_SCHEDULER_YIELD1.19E+00782895628286906
SLEEP_TASK18086141.08E+007215500
PAGEIOLATCH_SH17592352.06E+007137656
LCK_M_S1882.88E+007187
RESOURCE_SEMAPHORE78805.93E+0075781
LAZYWRITER_SLEEP4023092.20E+00896437
SQLTRACE_BUFFER_FLUSH580582.32E+0086234
CLR_AUTO_EVENT4374.63E+0081968


Сообщение было отредактировано: 12 май 08, 13:24
12 май 08, 12:22    [5649960]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
MsDatabaseru
Member

Откуда: Hobby.MsDatabase.ru
Сообщений: 10939
и что вы делали чтобы выявить причины?
-MSSQL является единственным ресурсоемким приложением на сервере?
-Длительные блокировки и взаимоблокировки отсутствуют?
-Ни один из наиболее важных ресурсов (CPU, ram, hdd, network inteface) согласно показателям счетчиков производительности не перегружен и соответственно не является узким местом?
-Профайлер не показывает ни одного батча с существенно большими значениями относительно остальных в соотвествующей перегруженному ресурсу колонке?
12 май 08, 13:19    [5650383]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
petsa
Member

Откуда:
Сообщений: 1708
А как Вы разбирались? И откуда видно, что тормозит именно сиквел?
12 май 08, 13:54    [5650657]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
nata44845
Member

Откуда: Красноярск
Сообщений: 355
Подниму тему, SQL2008

на сервере высокий CXPACKET, после того как убираешь параллелизм установкой уровня в 5000 (или степени параллелизма в 1), наверху остается CMEMTHREAD.

Установка флага TF8048 глобально ничего не дала, за сутки wait 44000 секунд
Правда там написано, нужно флаг установить когда никто не работает.
Завтра попробуем сервер перезапустить проверить, может параметр не так установился (хотя проверка флага показывает 1)

Какие еще варианты?
27 июл 17, 11:04    [20678937]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
Статистики хоть в порядке ?
27 июл 17, 11:07    [20678952]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
nata44845
Member

Откуда: Красноярск
Сообщений: 355
Сервер 1Сный, мейнтенс план раз в неделю по индексации и статистикам
27 июл 17, 11:09    [20678959]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
nata44845
Member

Откуда: Красноярск
Сообщений: 355
Гм, пока выделили под SQL одно ядро, из него выделили под параллелизм половину (8) процессоров, уровень для использования параллелизма 5000 (Гилев советует), ни того ни другого не видно.

Наблюдаем.
27 июл 17, 11:18    [20678993]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7399
nata44845,

оставьте CXPACKET в покое. Вы ищете там, где светло, а не там, где потеряли.
27 июл 17, 11:18    [20678998]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7399
nata44845
Гм, пока выделили под SQL одно ядро, из него выделили под параллелизм половину (8) процессоров, уровень для использования параллелизма 5000 (Гилев советует), ни того ни другого не видно.

Наблюдаем.


То есть вы веруете, что у ядер есть процессоры?
27 июл 17, 11:20    [20679004]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
nata44845
Member

Откуда: Красноярск
Сообщений: 355
не суть важно, ну одну ноду выделили в MSSQL, если вам от названия легче

Второй сервер за час пока наработал так
ASYNC_NETWORK_IO	88.00	81.97	6.03	429331	38.81	0.0002	0.0002	0.0000
PREEMPTIVE_OS_WAITFORSINGLEOBJECT	82.01	82.01	0.00	266273	36.17	0.0003	0.0003	0.0000
PAGEIOLATCH_SH	17.86	17.84	0.02	5366	7.88	0.0033	0.0033	0.0000
SOS_SCHEDULER_YIELD	17.47	0.32	17.15	367909	7.71	0.0000	0.0000	0.0000
LCK_M_S	13.84	13.84	0.00	8	6.10	1.7300	1.7300	0.0000
27 июл 17, 11:25    [20679022]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
nata44845
Гм, пока выделили под SQL одно ядро, из него выделили под параллелизм половину (8) процессоров, уровень для использования параллелизма 5000 (Гилев советует), ни того ни другого не видно.
Наблюдаем.

1с-ники должны страдать.
5к кончено архи серёзное значение
27 июл 17, 11:25    [20679023]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
nata44845,

вообщем для понимания: CXPACKET наверное у всех в топ 1 и это нормально + я надеюсь вы понимаете что такое %
27 июл 17, 11:27    [20679038]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
CrazyDr1v3r
Guest
Забавно, что не озвучены ни загрузка процессоров ни нагрузка ни диски.
Я видел планы обслуживания одинцэшников, где они выставляют филлфактор для индексов 50, а то и меньше.
27 июл 17, 11:44    [20679119]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7399
nata44845,

как это не суть важно? Вы не понимаете, что настраиваете и для чего.
Если хотите чудесного исцеления, то переведите для базы настройку прослушивания параметров в "принудительное".
1С спамит AD HOC запросы и забивает кэш противоречивыми или повторяющимися планами запроса из-за чего сервер не всегда выбирает эффективный план. Так хоть половину проблемы решите.
27 июл 17, 11:44    [20679124]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
nata44845
Member

Откуда: Красноярск
Сообщений: 355
Владислав Колосов,

Почему не понимаю, стоит очередь из процессоров ждет одного отстающего, плюс за ними уже очередь непараллельных запросов скопилась.
Не проще ли непараллельные пустить по своей очереди, а эти пусть параллельно работают.
Вероятность двух тяжелых запросов одновременно не сильно велика.

А подробнее? (Я ораклоид, просто попросили посмотреть.)
Что такое прослушивание параметров в "принудительное"?
На сервере или на базе?
Если баз 100 на каждой базе?
То что пока получилось (за час с лишним) нормальный результат?

WaitTypeWait_SResource_SSignal_SWaitCountPercentageAvgWait_SAvgRes_SAvgSig_S
ASYNC_NETWORK_IO233.96214.1719.7883937437.980.00030.00030.0000
PREEMPTIVE_OS_WAITFORSINGLEOBJECT215.36215.360.0052110634.960.00040.00040.0000
SOS_SCHEDULER_YIELD78.431.2677.18149965012.730.00010.00000.0001
PAGEIOLATCH_SH41.4341.350.08140586.730.00290.00290.0000
LCK_M_S27.3327.330.00234.441.18831.18820.0001
27 июл 17, 12:09    [20679274]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3462
CrazyDr1v3r
Забавно, что не озвучены ни загрузка процессоров ни нагрузка ни диски.
Я видел планы обслуживания одинцэшников, где они выставляют филлфактор для индексов 50, а то и меньше.


у сервера обычно два ядра и у каждого есть процессоры
27 июл 17, 12:11    [20679291]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
nata44845,


автор
Почему не понимаю, стоит очередь из процессоров ждет одного отстающего, плюс за ними уже очередь непараллельных запросов скопилась.
Не проще ли непараллельные пустить по своей очереди, а эти пусть параллельно работают.
Вероятность двух тяжелых запросов одновременно не сильно велика.

вы точно не понимаете суть парралелизма.
27 июл 17, 12:37    [20679403]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
nata44845
Member

Откуда: Красноярск
Сообщений: 355
TaPaK,

Объясните
27 июл 17, 12:48    [20679445]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
nata44845
TaPaK,

Объясните

ну если коротко: есть запрос, у него есть план. План может состоять из распараллеленых частей и последовательных, если попадает в настройки вашего парралелизма (cost + maxdop). И вот часть запроса или весь будут распаралелены и отданы на разные ядра, и если допустим статистика плохая, то может сложиться что разбилось на паралели не корректно и последнюю часть будет ждать. Всё это влияет на загрузку cpu и ожидания CXPACKET показывают что операция ждала ядро. Убрав MAXDOP в 1 получаем только последовательные планы, это легко для ядер, но может вылится в многократное увеличние времени выполнения, понятно почему :) Вообщем то вся борьба оптимизации сводится к [Сервер - хочу тратить меньше ресурсов] против [Разработчик - хочу чтобы аки шайтан кипел, но быстро]
27 июл 17, 13:00    [20679499]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
aleksrov
Member

Откуда:
Сообщений: 948
TaPaK
nata44845
TaPaK,

Объясните

ну если коротко: есть запрос, у него есть план. План может состоять из распараллеленых частей и последовательных, если попадает в настройки вашего парралелизма (cost + maxdop). И вот часть запроса или весь будут распаралелены и отданы на разные ядра, и если допустим статистика плохая, то может сложиться что разбилось на паралели не корректно и последнюю часть будет ждать. Всё это влияет на загрузку cpu и ожидания CXPACKET показывают что операция ждала ядро. Убрав MAXDOP в 1 получаем только последовательные планы, это легко для ядер, но может вылится в многократное увеличние времени выполнения, понятно почему :) Вообщем то вся борьба оптимизации сводится к [Сервер - хочу тратить меньше ресурсов] против [Разработчик - хочу чтобы аки шайтан кипел, но быстро]


От себя добавлю что параллелизм работает иначе в Batch Mode, там никто никого не ждет. Если тоже коротко, подход другой, у каждого оператора есть Work Queue, это что то типа коллекции батчей, и есть общий Thread Pool, каждый Thread берет батч из очереди и так пока очередь не станет пустой, другие Threads в это время работают с очередью другого оператора, никто никакого не ждет.
27 июл 17, 13:11    [20679548]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
nata44845
Member

Откуда: Красноярск
Сообщений: 355
TaPaK,

Ну я примерно так и сказала, что все ждут одного.
Только не поняла он при 0 на все ядра распределяет или на сколько ему вздумается?
Свободные остаются?
27 июл 17, 13:13    [20679559]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
nata44845
TaPaK,

Ну я примерно так и сказала, что все ждут одного.
Только не поняла он при 0 на все ядра распределяет или на сколько ему вздумается?
Свободные остаются?
ой всё...
27 июл 17, 13:14    [20679570]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
nata44845
Member

Откуда: Красноярск
Сообщений: 355
aleksrov,

А это на чем настраивается на 1С сервере или на MSSQL в диспетчере.
Может проще это включить?

Хотя сервера у меня все равно по разному работают, на этом ошибка CMEMTHREAD никогда не вылазила, с этим проще, а вот тот завтра поглядим, меня даже она больше волнует

SELECT waiting_tasks_count
FROM sys.dm_os_wait_stats
WHERE wait_type = 'CMEMTHREAD'
AND waiting_tasks_count > 0


waiting_tasks_count
6
27 июл 17, 13:18    [20679582]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
TaPaK
nata44845
TaPaK,
..
Свободные остаются?
ой всё...

из-за двери: Удел 1с-ников открыть QUERY STORE и жмакать FORCE PLAN на запросах ну может ещё RESOURCE GOVERNOR, хотя и не уверен
27 июл 17, 13:18    [20679585]     Ответить | Цитировать Сообщить модератору
 Re: Тормозить SQL сервер. Не могу разобраться почему.  [new]
nata44845
Member

Откуда: Красноярск
Сообщений: 355
Пардон не ошибка, задержка
27 июл 17, 13:18    [20679588]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить