Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
sereban
Member

Откуда:
Сообщений: 38
Имеется сервер с установленным Microsoft SQL Server 2008 R2 (SP2) - 10.50.4297.0 (X64) Nov 22 2013 17:24:14 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
Сервер используется только для MS SQL, больше ничего нет.

На сервере находятся 3 базы данных 1с 8.2, в каждой базе работает примерно по 70 пользователей. Неделю назад резко возросла нагрузка на процессор: с 20-30% до 80-90%. Со стороны 1с никаких изменений не вносилось(обновлений не было, массовых изменений в БД не было). При этом 1с начинает жутко тормозить: длительные операции с 15-20 секунд возросли до 2-3 минут.

Попробовал перенести одну из рабочих баз на другой сервер (временно, т.к. он нужен для других целей). Нагрузка на ЦП сразу упала до 10-20%. В 1с тормоза пропали. Нагрузка на процессор, которую дают каждая из БД примерно одинаковая. На резервном сервере, куда перенесли третью базу, проблем с загрузкой ЦП тоже не наблюдалось. Когда вернули базу на основной сервер, нагрузка опять стала 80-90%. Получается, что каждая база по отдельности дает минимальную нагрузку на процессор, а 3 вместе загружают его на столько, что о комфортной работе не может быть и речи.

Я не силен в sql, поэтому прошу помочь разобраться в чем может быть проблема.
22 апр 14, 11:39    [15914779]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
Glory
Member

Откуда:
Сообщений: 104751
Нагрузку дают не базы, а действия пользователей в этих базах
22 апр 14, 11:48    [15914845]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
sereban
Member

Откуда:
Сообщений: 38
Есть запрос, который возвращает вот такой результат:

DatabaseName	CPUTimeMs	CPUPercent	CachedSizeMB	NumberOfConnections	VirtualLogCnt
RNG_Volgograd 2620593778 41.22 113316.23 29 435
RNG_Obl_Sever 2174601059 34.21 37718.12 81 175
RNG_Obl_Yug 1469541114 23.12 65029.84 35 283



При этом base1 и base2 периодически меняются местами по степени загрузки ЦП
22 апр 14, 11:58    [15914902]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
Glory
Member

Откуда:
Сообщений: 104751
sereban
При этом base1 и base2 периодически меняются местами по степени загрузки ЦП 

Еще раз - ресурсы использует не база, но запросы пользователей к данным
22 апр 14, 12:00    [15914915]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
sereban
Member

Откуда:
Сообщений: 38
Glory, может еще пару раз напишешь?
22 апр 14, 12:02    [15914927]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
Glory
Member

Откуда:
Сообщений: 104751
sereban
Glory, может еще пару раз напишешь?

Нет. Если вы еще пару раз напишите одно и тоже, то закрою тему.
22 апр 14, 12:03    [15914936]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
sereban
Member

Откуда:
Сообщений: 38
Glory, Уважаемый КЭП, то что нагрузку дают запросы никто не сомневается. Одно и тоже написал не я. А если Вы хотите помочь , то буду рад получить рекомендации о том, какие действия мне нужно выполнить и что посмотреть.
22 апр 14, 12:10    [15914983]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
Glory
Member

Откуда:
Сообщений: 104751
sereban
А если Вы хотите помочь , то буду рад получить рекомендации о том, какие действия мне нужно выполнить и что посмотреть.

Изучать запросы ваших пользователей ???
Трассировать их с анализом использования процессора по каждому запросу ??
22 апр 14, 12:13    [15915009]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
sereban
Member

Откуда:
Сообщений: 38
Glory, вопрос не в этом. Пользователи привязаны каждый к своей базе. И в рабочее время нагрузка сервер СУБД примерно одинаковая. Но при этом наблюдается проблемы, когда на сервере 3 базы. Если оставить любые 2, то серверу делать нечего(ЦП используется на 20-30%). А если добавить третью, то на 80-90%. Как такое может быть?
22 апр 14, 12:21    [15915063]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
komrad
Member

Откуда:
Сообщений: 5758
sereban
Glory, Уважаемый КЭП, то что нагрузку дают запросы никто не сомневается. Одно и тоже написал не я. А если Вы хотите помочь , то буду рад получить рекомендации о том, какие действия мне нужно выполнить и что посмотреть.


в моменты повышения нагрузки попробуй выполнить
DBCC FLUSHPROCINDB(<database_id>)
database_id - это номер "проблемной" БД
22 апр 14, 12:23    [15915083]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
Glory
Member

Откуда:
Сообщений: 104751
sereban
Как такое может быть?

Это Билл Гейтс сказал своим программистам так написать MSSQL, чтобы когда sereban подключит к серверу 3ю базу, то сервер сразу же начинал бешенно использовать процессор. Просто так, чтобы вам досадить.
22 апр 14, 12:24    [15915091]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
Guest023
Guest
sereban
... Как такое может быть?

Ну например размер индексов возрос настолько, что перестал помещаться в оперативке..
И каждый запрос вынуждает сервер выгружать и загружать в память разные индексы
22 апр 14, 12:28    [15915143]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
Ennor Tiegael
Member

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

Тогда бы у него задыхался не проц, а диск.

Смотрите статистику ожиданий, на чем именно наибольшие тормоза. Может, у вас там перекомпиляции массово идут.
22 апр 14, 12:32    [15915187]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
sereban
Member

Откуда:
Сообщений: 38
komrad
sereban
Glory, Уважаемый КЭП, то что нагрузку дают запросы никто не сомневается. Одно и тоже написал не я. А если Вы хотите помочь , то буду рад получить рекомендации о том, какие действия мне нужно выполнить и что посмотреть.


в моменты повышения нагрузки попробуй выполнить
DBCC FLUSHPROCINDB(<database_id>)
database_id - это номер "проблемной" БД


После выполнения DBCC FLUSHPROCINDB нагрузка на ЦП не изменилась
22 апр 14, 15:18    [15916680]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
sereban
Member

Откуда:
Сообщений: 38
Ennor Tiegael
Guest023,

Тогда бы у него задыхался не проц, а диск.

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


ТипОжидания	        Секунд	        Процент	running_pct
OLEDB 811704.67 28.06 28.06
TRACEWRITE 775463.16 26.80 54.86
CXPACKET 587950.50 20.32 75.18
SOS_SCHEDULER_YIELD 378719.32 13.09 88.27

Остальное менее 3х%
22 апр 14, 15:23    [15916723]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 17423
http://blog.sqlauthority.com/2011/10/20/sql-server-tracewrite-wait-type-wait-related-to-buffer-and-resolution/
22 апр 14, 16:18    [15917304]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 17423
http://blog.sqlauthority.com/2011/02/01/sql-server-wait-stats-wait-types-wait-queues-day-0-of-28-2/
22 апр 14, 16:18    [15917312]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
Glory
Member

Откуда:
Сообщений: 104751
sereban
OLEDB	                811704.67	28.06	28.06

И куда же за пределы сервера лезут ваши запросы ?

sereban
TRACEWRITE	        775463.16	26.80	54.86

И что же вы трассируете ? Только default trace ?

sereban
CXPACKET	        587950.50	20.32	75.18

Как вы определяли уровень параллелизма, который подходит вашим запросам ?
22 апр 14, 16:30    [15917414]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
Daba
Member

Откуда:
Сообщений: 135
Проверте что у вас со статистиками: возможно скуль даёт левые планы с большим параллелизмом где он не нужен... После каждого рестора проапдейте статистики.
22 апр 14, 17:00    [15917717]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
sereban
Member

Откуда:
Сообщений: 38
Daba
Проверте что у вас со статистиками: возможно скуль даёт левые планы с большим параллелизмом где он не нужен... После каждого рестора проапдейте статистики.


Обновление статистики каждый день делается.
22 апр 14, 21:00    [15919150]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
sereban
Member

Откуда:
Сообщений: 38
ScareCrow
http://blog.sqlauthority.com/2011/10/20/sql-server-tracewrite-wait-type-wait-related-to-buffer-and-resolution/


Спасибо, трассировку отключил. Не знал, что по умолчанию она есть.
23 апр 14, 09:23    [15920304]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
NickAlex66
Member

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

Покажите, пожалуйста, выдачу sys.databases
23 апр 14, 11:11    [15920952]     Ответить | Цитировать Сообщить модератору
 Re: Большая нагрузка на процессор при добавлении базы (MS SQL Server 2008 R2)  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
sereban
ScareCrow
http://blog.sqlauthority.com/2011/10/20/sql-server-tracewrite-wait-type-wait-related-to-buffer-and-resolution/


Спасибо, трассировку отключил. Не знал, что по умолчанию она есть.
зачем интересно отключать дефолтную трассировку в вашем случае.
23 апр 14, 20:06    [15925132]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить