Оптимизация сервера БД
От: merge  
Дата: 12.06.18 06:35
Оценка:
Есть сервер БД (mssql).
На нем крутятся порядка 10 баз для 5 разных систем.
Периодически бывают дикие тормоза а-ля селект топ 1 не работает.
Сейчас столкнулись, что иногда быстро пофиксить проблему не удается, т.к. причины тормозов могут быть разные и главное у нас нет экспертов,
которые могут смотреть на проблему в общем: проблема железа или же ef запросы криво строит или же селекты в процедуре криво написаны.

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

Может кто имел опыт и подскажет как искать проблему или ресурсы, книги?

Спасибо
Re: Оптимизация сервера БД
От: _ABC_  
Дата: 12.06.18 10:54
Оценка: 2 (1)
Здравствуйте, merge, Вы писали:

M>Есть сервер БД (mssql).

M>На нем крутятся порядка 10 баз для 5 разных систем.
На одном инстансе?

M>Периодически бывают дикие тормоза а-ля селект топ 1 не работает.

Настройки инстанса какие?

Посмотри для начала ограничения максимальной памяти. Если она не ограничена,
поставь ограничение, чтобы у ОС был хотя бы гигабайт своей памяти, плюс сколько
нужно другим приложениям. Иначе дикий своп, ЦПУ под 100%, и тормоза как ты описал.

M>Вопрос такой: слышал есть эксперты по оптимизации, которые за короткие сроки и приличные деньги могут находить проблемные участки.

Есть. И даже не за очень приличные деньги. ИМХО, вполне скромные.
Иногда и бесплатные советы помогают.

Пройдись по этой книге. Для начала, ИМХО, сойдет.
https://www.brentozar.com/archive/2008/03/sql-server-2005-setup-checklist-part-1-before-the-install/

Там не всё ты будешь делать, конечно. Но ознакомиться с тем, что там есть и иметь представление о том,
что там написано, вполне полезно.
Re[2]: Оптимизация сервера БД
От: merge  
Дата: 12.06.18 12:07
Оценка:
Здравствуйте, _ABC_, Вы писали:

_AB>Здравствуйте, merge, Вы писали:


M>>Есть сервер БД (mssql).

M>>На нем крутятся порядка 10 баз для 5 разных систем.
_AB>На одном инстансе?

да.

M>>Периодически бывают дикие тормоза а-ля селект топ 1 не работает.

_AB>Настройки инстанса какие?

_AB>Посмотри для начала ограничения максимальной памяти. Если она не ограничена,

_AB>поставь ограничение, чтобы у ОС был хотя бы гигабайт своей памяти, плюс сколько
_AB>нужно другим приложениям. Иначе дикий своп, ЦПУ под 100%, и тормоза как ты описал.

память 0 — 2147483647 мб.
"сколько нужно другим приложениям" — это сложно понять. веб и дб на разных серверах. ок — допустим 500мб норм?

M>>Вопрос такой: слышал есть эксперты по оптимизации, которые за короткие сроки и приличные деньги могут находить проблемные участки.

_AB>Есть. И даже не за очень приличные деньги. ИМХО, вполне скромные.
_AB>Иногда и бесплатные советы помогают.

_AB>Пройдись по этой книге. Для начала, ИМХО, сойдет.

_AB>https://www.brentozar.com/archive/2008/03/sql-server-2005-setup-checklist-part-1-before-the-install/

_AB>Там не всё ты будешь делать, конечно. Но ознакомиться с тем, что там есть и иметь представление о том,

_AB>что там написано, вполне полезно.

Спасибо!
Re[3]: Оптимизация сервера БД
От: _ABC_  
Дата: 12.06.18 12:20
Оценка:
Здравствуйте, merge, Вы писали:

M>"сколько нужно другим приложениям" — это сложно понять. веб и дб на разных серверах. ок — допустим 500мб норм?

Если других нет приложений, то оставь для начала 1.5 ГБ, пожалуй.
Посмотри — улучшения должны быть практически мгновенными.
Если не поможет — увеличь до 2.

Вообще, сколько всего памяти на сервере?
Re[4]: Оптимизация сервера БД
От: merge  
Дата: 13.06.18 05:36
Оценка:
Здравствуйте, _ABC_, Вы писали:

_AB>Здравствуйте, merge, Вы писали:


M>>"сколько нужно другим приложениям" — это сложно понять. веб и дб на разных серверах. ок — допустим 500мб норм?

_AB>Если других нет приложений, то оставь для начала 1.5 ГБ, пожалуй.
_AB>Посмотри — улучшения должны быть практически мгновенными.
_AB>Если не поможет — увеличь до 2.

_AB>Вообще, сколько всего памяти на сервере?


96gb
Re[4]: Оптимизация сервера БД
От: merge  
Дата: 13.06.18 05:39
Оценка:
Здравствуйте, _ABC_, Вы писали:

_AB>Здравствуйте, merge, Вы писали:


M>>"сколько нужно другим приложениям" — это сложно понять. веб и дб на разных серверах. ок — допустим 500мб норм?

_AB>Если других нет приложений, то оставь для начала 1.5 ГБ, пожалуй.
_AB>Посмотри — улучшения должны быть практически мгновенными.
_AB>Если не поможет — увеличь до 2.

_AB>Вообще, сколько всего памяти на сервере?



самое интересное, что сейчас 98% памяти занято и всё под сиквел. а цп — 71%.
получается памяти не хватает или сиквел ее не отдает однажды получив?
Re[5]: Оптимизация сервера БД
От: susumanin Россия  
Дата: 13.06.18 06:43
Оценка:
Здравствуйте, merge, Вы писали:

M>получается памяти не хватает или сиквел ее не отдает однажды получив?


Второе, он скушает все что ты ему отдал и раз скушав не захочет отдавать. Т.е. это не означает что ему плохо. Поэтому важно в настройках сиквела указать максимально доступный объем памяти.
Почитать можно бесплатную в pdf "Troubleshooting SQL Server: A Guide for the Accidental DBA".
Re[5]: Оптимизация сервера БД
От: _ABC_  
Дата: 13.06.18 15:07
Оценка:
Здравствуйте, merge, Вы писали:

M>получается памяти не хватает или сиквел ее не отдает однажды получив?

Не отдает. Пока в своп всё падать не будет — не отдаст. Да и потом не особо щедрым будет.
С 96ГБ можно ОС 4ГБ отдать и помониторить.
Re: Оптимизация сервера БД
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 13.06.18 15:14
Оценка:
Здравствуйте, merge, Вы писали:

M>Вопрос такой: слышал есть эксперты по оптимизации, которые за короткие сроки и приличные деньги могут находить проблемные участки.

M>Кто-то подскажет может?
Я такой

M>Может кто имел опыт и подскажет как искать проблему или ресурсы, книги?


Главный ресурс MS SQL books online, но читать заманаешься.
Мне больше всего помогли видео оп MS SQL на plauralsight. Там многие вещи разжеваны и даны ссылки ан правильные статьи по оптимизаци.

Начните с локализации проблемы. Откройте activity monitor в SSMS и смотрите что происходит во время зависаний. Также обынй виндовый perfmon можем помочь.
Re[5]: Оптимизация сервера БД
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 13.06.18 15:19
Оценка:
Здравствуйте, merge, Вы писали:

M>самое интересное, что сейчас 98% памяти занято и всё под сиквел. а цп — 71%.

Объем баз какой?
Какой профиль запросов — соотношение чтения \ записи, тяжелых аналитических \ простых SELECT TOP 1 запросов?

M>получается памяти не хватает или сиквел ее не отдает однажды получив?

Не отдает. Настройте макс объем памяти, чтобы системе оставалось.
Re: Оптимизация сервера БД
От: Aib https://razborpoletov.com
Дата: 13.06.18 20:01
Оценка:
Здравствуйте, merge, Вы писали:

M>Есть сервер БД (mssql).

M>На нем крутятся порядка 10 баз для 5 разных систем.
M>Периодически бывают дикие тормоза а-ля селект топ 1 не работает.
M>Сейчас столкнулись, что иногда быстро пофиксить проблему не удается, т.к. причины тормозов могут быть разные и главное у нас нет экспертов,
M>которые могут смотреть на проблему в общем: проблема железа или же ef запросы криво строит или же селекты в процедуре криво написаны.

M>Вопрос такой: слышал есть эксперты по оптимизации, которые за короткие сроки и приличные деньги могут находить проблемные участки.

M>Кто-то подскажет может?

M>Может кто имел опыт и подскажет как искать проблему или ресурсы, книги?


M>Спасибо


У всех вендоров БД есть такие ребята. Я работал по Java, но пересекался с ребятами из MySQL. База то какая?
Re[2]: Оптимизация сервера БД
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 13.06.18 21:12
Оценка:
Здравствуйте, Aib, Вы писали:

Aib>Здравствуйте, merge, Вы писали:


M>>Есть сервер БД (mssql).

Aib>У всех вендоров БД есть такие ребята. Я работал по Java, но пересекался с ребятами из MySQL. База то какая?

Внезапно ответ в первой строке
Re: Оптимизация сервера БД
От: MasterZiv СССР  
Дата: 20.06.18 13:50
Оценка:
Здравствуйте, merge, Вы писали:

M>Есть сервер БД (mssql).

M>На нем крутятся порядка 10 баз для 5 разных систем.

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

M>Вопрос такой: слышал есть эксперты по оптимизации, которые за короткие сроки и приличные деньги могут находить проблемные участки.

M>Кто-то подскажет может?

Ну я таким занимался, но это НЕ короткое время, и соотв. деньги немалые.

M>Может кто имел опыт и подскажет как искать проблему или ресурсы, книги?


Не, надо долго и нудно изучать систему, поведение её, структуру БД, запросы,
мониторить, настраивать, ....
В общем, долго толочь воду в ступе, пока она наконец вся не высохнет.
Re: Оптимизация сервера БД
От: rm822 Россия  
Дата: 20.06.18 16:07
Оценка:
M>Вопрос такой: слышал есть эксперты по оптимизации, которые за короткие сроки и приличные деньги могут находить проблемные участки.
M>Кто-то подскажет может?
Есть такие. Пиши в личку если надо.

M>Может кто имел опыт и подскажет как искать проблему или ресурсы, книги?

Если sql новый то сейчас все проще.
Вэйты уже студия показывает
https://blogs.msdn.microsoft.com/sql_server_team/new-showplan-xml-properties-in-ssms-october-release/
https://blogs.msdn.microsoft.com/sql_server_team/new-showplan-enhancements/
Ну а дальше в вэйтопедию
https://app.spotlightcloud.io/waitopedia

Идея проста: запрос либо выполняется и кушает проц, либо ждет.
Ждать он может много чего, пока осовбодиться ядро, память, диск, произойдет сетевой ио, локов, латчей и т.д.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.