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

Откуда: Киев
Сообщений: 70
Добрый день коллеги!
В общем сразу к делу. Собираюсь патчить SAP (т.е. нужно применить support package) к системе с недецким объемом данных (БД порядка 250Гб, где сама база "разбита" на 4 mdf-а, и файл лога). В пререквизитах к прцедуре написано как можно ускорить работу БД посредством некоторых манипуляций, т.е. ребилд индексов, отключение логгирования и пр., в частности написано "Disable archive logs in the case of Oracle", понятно, что это в случае Оракла, а мне нужно сделать то-же самое для сиквела... такое вообще возможно? Знаю что в теории логгирование в журнал полностью отключить нельзя, можно только перевести БД в режим бэкапа basic. Каким образом можно ускорить работу сиквел сервера простыми методами, т.к. как вы понимаете сама база уже сформирована, писана концерном САП (ребята там вроде не глупые ))), но во время процедуры применения патча буквально перестраивается вся БД, и речь идет о миллионах транзакций + обратите внимание на объем данных.
Собираюсь делать симуляцию на виртуальной машине для начала, ваши рекомендации?
8 сен 13, 12:50    [14810210]     Ответить | Цитировать Сообщить модератору
 Re: Ускорение работы СУБД посредством уменьшения логгирования?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31990
Allaire
мне нужно сделать то-же самое для сиквела... такое вообще возможно?
Для сиквела логирование отключается в некоторых специфических случаях (и может даже привести к замедлению работы, если делать так без разбора везде). См например трейс-флаг 610, или в BOL посмотрите описание "Инструкция INSERT", раздел "Использование инструкции INSERT INTO…SELECT для массовой загрузки данных с минимальным протоколированием"

К патчу SAP всё это, очевидно, не получится применить.

Смотрите в сорону выявления узких мест сервера, настроек.
8 сен 13, 14:33    [14810393]     Ответить | Цитировать Сообщить модератору
 Re: Ускорение работы СУБД посредством уменьшения логгирования?  [new]
Allaire
Member

Откуда: Киев
Сообщений: 70
alexeyvg
К патчу SAP всё это, очевидно, не получится применить.
Смотрите в сорону выявления узких мест сервера, настроек.

С SAP тяжело угадать, т.к. теоретически БД уже оптимизирована и ее обслуживание уже ведется (должно вестись) не на уровне SQL Server Management Studio или команд из него а на уровне транзакций в самом интерфейсе. Но с другой стороны никто не отменял самые простые процедуры... покамест проапдейтил стату (EXEC sp_updatestats) и ее использование (DBCC UPDATEUSAGE (0);). Что еще можно сделать на данном этапе?
С т.з. функционирования самого сервера, БД и лог лежат на нулевом рейде (HDD VelociRaptor, 2x1Tb, 10000rpm.), хороший дисковый массив ) Чисто теоретически, если я вынесу лог на др. логический диск это что-то даст (интересует прирост производительности)?
8 сен 13, 17:39    [14810673]     Ответить | Цитировать Сообщить модератору
 Re: Ускорение работы СУБД посредством уменьшения логгирования?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31990
Allaire
С т.з. функционирования самого сервера, БД и лог лежат на нулевом рейде (HDD VelociRaptor, 2x1Tb, 10000rpm.), хороший дисковый массив )
Ужас. Я вообще по SAP не специалист, но для БД функционально сложной системы (не простенький сайтик или сервис хранения файлов) с базой на полтеррабайта обычно нужно раз в 10 больше ресурсов.

Allaire
Чисто теоретически, если я вынесу лог на др. логический диск это что-то даст (интересует прирост производительности)?
Не даст. На другой физический даст.
8 сен 13, 18:01    [14810706]     Ответить | Цитировать Сообщить модератору
 Re: Ускорение работы СУБД посредством уменьшения логгирования?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34705
Allaire
... отключение логгирования и пр., в частности написано "Disable archive logs in the case of Oracle", понятно, что это в случае Оракла,


Отключение архивных логов в оракле -- это не отключение логирования, а отключение сохранения всех журналов, начиная с начала работы БД. Логирование (журналирование) при этом никуда не девается, просто сохраняется только та часть, которая началась после последнего checkpoint-а.


Allaire
а мне нужно сделать то-же самое для сиквела... такое вообще возможно?


Невозможно.

Allaire
Знаю что в теории логгирование в журнал полностью отключить нельзя, можно только перевести БД в режим бэкапа basic. Каким образом можно ускорить работу сиквел сервера простыми методами, т.к. как вы понимаете сама база уже сформирована, писана концерном САП (ребята там вроде не глупые ))),


Это никак не связано ни с отключением логирования, ни с ускорением/замедлением работы БД.


Allaire
но во время процедуры применения патча буквально перестраивается вся БД, и речь идет о миллионах транзакций + обратите внимание на объем данных.
Собираюсь делать симуляцию на виртуальной машине для начала, ваши рекомендации?


Делай, никакие доп. настройки не нужны.

Прочитай рекомендации SAP в части, применимой к MSSQL, если там что -то есть такое -- сделай.
Там может быть напр. требования расширить кэш данных, иметь какой-то свободный объём лога и т.п.
Но в любом случае все эти транзакции тебе придётся пробрасывать, и их особенно ничем не ускорить.
8 сен 13, 18:14    [14810727]     Ответить | Цитировать Сообщить модератору
 Re: Ускорение работы СУБД посредством уменьшения логгирования?  [new]
Allaire
Member

Откуда: Киев
Сообщений: 70
alexeyvg
с базой на полтеррабайта обычно нужно раз в 10 больше ресурсов.

Для симуляции сгодится, но мне любопытно для чего такое огромное кол-во ресурсов?
alexeyvg
На другой физический даст.

ОК, буду знать.

MasterZiv
Отключение архивных логов в оракле -- это не отключение логирования, а отключение сохранения всех журналов, начиная с начала работы БД. Логирование (журналирование) при этом никуда не девается, просто сохраняется только та часть, которая началась после последнего checkpoint-а.

Спасибо за инфу... вообще сложно проводить параллели с Ораклом, две разные системы.
MasterZiv
Это никак не связано ни с отключением логирования, ни с ускорением/замедлением работы БД.

ОК.

MasterZiv
Делай, никакие доп. настройки не нужны.
Прочитай рекомендации SAP в части, применимой к MSSQL, если там что -то есть такое -- сделай.
Там может быть напр. требования расширить кэш данных, иметь какой-то свободный объём лога и т.п.
Но в любом случае все эти транзакции тебе придётся пробрасывать, и их особенно ничем не ускорить.

Со стороны SAP сделал все что мог, а сделать там можно не многое, кроме как дать больше ресурсов, как вы сказали расширить кэш. Увеличил кол-во задействованных процессов для транспорта... Убивает сама процедура, которая занимает приб. 54 часа времени (развертывание самого SAP берет ровно в пять раза меньше времени), а там ведь не тупой балк-инсерт происходит а еще прекомпиляция ABAP процедур. Думал что можно хоть как-то ускорить это "перетряхивание костей", выходит особо нечем, самое смешное что даже сам сиквел не ест весь объем выделенной оперативы (из 6Гб он потребляет только 3 при патчинге, а там только в основном БД только и задействована), из 8ми потоков (проц 4 ядра, по 2 потока на каждом) он грузит только 3 из них процентов на 40, остальные "отдыхают", т.е. по поводу ресурсов - дури хватает )))
Пойду смотреть настройки SAP. Спасибо за советы )
8 сен 13, 18:56    [14810781]     Ответить | Цитировать Сообщить модератору
 Re: Ускорение работы СУБД посредством уменьшения логгирования?  [new]
SERG1257
Member

Откуда:
Сообщений: 2880
отключение архивирования логов у Oracle равно переключению recovery mode на simple на время применения патча (вполне имеет смысл) Ускорения работы это не даст, но будет меньше головной боли из-за переполнения лог файла.
8 сен 13, 22:07    [14811203]     Ответить | Цитировать Сообщить модератору
 Re: Ускорение работы СУБД посредством уменьшения логгирования?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31990
Allaire
alexeyvg
с базой на полтеррабайта обычно нужно раз в 10 больше ресурсов.

Для симуляции сгодится, но мне любопытно для чего такое огромное кол-во ресурсов?
А, так это для проверки, не продакшен?

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

Так это проблема тестового сервера, это на нём слишком долго накатывается патч? Может, там кеши какие на дисковую систему повключать, типа разрешить в виндах кеш записи для дисков?
Allaire
С т.з. функционирования самого сервера, БД и лог лежат на нулевом рейде (HDD VelociRaptor, 2x1Tb, 10000rpm.)
Можно попробовать использовать 2 диска отдельно - один под файл данных, другой под лог. Но не знаю, насколько поможет, не представляю, что там происходит при накатывании патча. Если куча мелких транзакций, то может помочь.
8 сен 13, 22:44    [14811332]     Ответить | Цитировать Сообщить модератору
 Re: Ускорение работы СУБД посредством уменьшения логгирования?  [new]
Allaire
Member

Откуда: Киев
Сообщений: 70
SERG1257
отключение архивирования логов у Oracle равно переключению recovery mode на simple на время применения патча (вполне имеет смысл) Ускорения работы это не даст, но будет меньше головной боли из-за переполнения лог файла.

Если ощутимого выигрыша по производительности не даст, то и заморачиваться не стоит... Может я сильно придираюсь к деталям? )

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

Так и есть, только юзеров сотни а не тысячи... до тысяч не доросли еще ))

alexeyvg
Так это проблема тестового сервера, это на нём слишком долго накатывается патч? Может, там кеши какие на дисковую систему повключать, типа разрешить в виндах кеш записи для дисков?

Ну, вообще логично что патч такого масштаба сначала тестируется, потом переносится в продакшн. Мне нужно вычислить тайм-эстимейт и пока он не очень веселый... даже теоретически нельзя остановить выполнение всех транзакций на предприятии на такое время. Есть выходные и моя задача уложится за два дня. Конфигурация тестового сервака максимально близка с продакшн серверу (а точнее использую то что имеется), как я уже упомянул задел там большой и система во время накатывания патча не потребляет и трети ресурсов... на "полную катушку" работает только сиквел но и он скромно кушает.

alexeyvg
Если куча мелких транзакций, то может помочь.

Мелкие транзакции (несколько миллионов), плюс ребилд индексов.

Пока ограничился увеличением количества рабочих процессов в самом САПе, лог вырос с 6.5 до 17Гб за 6 часов патчинга... полет пока нормальный.
9 сен 13, 14:00    [14813933]     Ответить | Цитировать Сообщить модератору
 Re: Ускорение работы СУБД посредством уменьшения логгирования?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31990
Allaire
Конфигурация тестового сервака максимально близка с продакшн серверу (а точнее использую то что имеется)
Понятно... Какое то слабенькое хранилище для SAP-овской СУБД на несколько сотен пользователей - пара десктопных дисков (пусть и быстрых) :-(


Allaire
Мелкие транзакции (несколько миллионов), плюс ребилд индексов.
Ребилд будет небыстрый из за общей малой пропускной способности СХД, мелкие транзакции будут медленно выполнятся из за объединения дисков для данных и лога.
9 сен 13, 15:28    [14814591]     Ответить | Цитировать Сообщить модератору
 Re: Ускорение работы СУБД посредством уменьшения логгирования?  [new]
kalimba
Member

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

вы это имеете в иду?
9 сен 13, 15:31    [14814619]     Ответить | Цитировать Сообщить модератору
 Re: Ускорение работы СУБД посредством уменьшения логгирования?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31990
kalimba
Allaire,

вы это имеете в иду?
Join the most active online SQL Server Community
9 сен 13, 15:33    [14814648]     Ответить | Цитировать Сообщить модератору
 Re: Ускорение работы СУБД посредством уменьшения логгирования?  [new]
kalimba
Member

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

Ну, если не хотите свой ящик писать, то есть вот енто.
9 сен 13, 15:48    [14814796]     Ответить | Цитировать Сообщить модератору
 Re: Ускорение работы СУБД посредством уменьшения логгирования?  [new]
Allaire
Member

Откуда: Киев
Сообщений: 70
kalimba
Allaire,

вы это имеете в иду?

Да. И не только это, меня интересуют вообще любые тввики производительности, применимые к уже сформированной базе (т.е. без кардинальных изменений архитектуры).
9 сен 13, 16:08    [14814964]     Ответить | Цитировать Сообщить модератору
 Re: Ускорение работы СУБД посредством уменьшения логгирования?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Allaire
писана концерном САП (ребята там вроде не глупые )))

Allaire
Мелкие транзакции (несколько миллионов)

Одна цитата не очень вяжется с другой :-)
Ведь каждый коммит транзакции — это принудительная запись в лог-файл. На этом проседать может просто катастрофически.
Там нет настройки "объём работ, выполняемых в отдельно взятой транзакции"?
9 сен 13, 16:14    [14815005]     Ответить | Цитировать Сообщить модератору
 Re: Ускорение работы СУБД посредством уменьшения логгирования?  [new]
Allaire
Member

Откуда: Киев
Сообщений: 70
Гость333
Allaire
писана концерном САП (ребята там вроде не глупые )))

Allaire
Мелкие транзакции (несколько миллионов)

Одна цитата не очень вяжется с другой :-)

Почему? На самом деле доки по перфоманс-тюнингу нет как таковой, потому как "считается" что там уже все сделано до нас (но мы-то знаем что нет )))))

Гость333
Ведь каждый коммит транзакции — это принудительная запись в лог-файл. На этом проседать может просто катастрофически.

Верю, поэтому и спрашиваю о возможных ворк-эраундах ))

Гость333
Там нет настройки "объём работ, выполняемых в отдельно взятой транзакции"?

Есть перфоманс монитор (SM50), но ввиду того что патч уже погнал компилить ABAP функции, GIU уже не доступен, поэтому ничего не могу сказать. Признаки того что что-то происходит видны хорошо в сиквел-профайлере... шелестит аж дым столбом )))
9 сен 13, 16:59    [14815306]     Ответить | Цитировать Сообщить модератору
 Re: Ускорение работы СУБД посредством уменьшения логгирования?  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Allaire
Собираюсь делать симуляцию на виртуальной машине для начала, ваши рекомендации?

Allaire
Признаки того что что-то происходит видны хорошо в сиквел-профайлере... шелестит аж дым столбом )))

Попробуйте выключить профайлер для начала.
11 сен 13, 03:09    [14823406]     Ответить | Цитировать Сообщить модератору
 Re: Ускорение работы СУБД посредством уменьшения логгирования?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31990
Allaire
Гость333
Ведь каждый коммит транзакции — это принудительная запись в лог-файл. На этом проседать может просто катастрофически.

Верю, поэтому и спрашиваю о возможных ворк-эраундах ))
Как выше писали, можно кеш записи включить (или убедится, что контроллер с батарейкой и у него включён кеш записи)
11 сен 13, 09:28    [14824196]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить