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

Откуда:
Сообщений: 47
Здравствуйте.
На новом месте работы поставили задачу разобраться с производительностью сервера SQL. Сказали, что пользователи жалуются, «тормозит, плохо работает». Я сам в БД не работаю, запросы не создаю и т.д., все со слов.
Исходные данные на момент написания:

Сервер:

Win server 2008R2 x64 – 125 Gb ОЗУ – Xeon E5 4640 x2
MS SQL 2012 (количество баз – 30, размер всего 900 Гб)

Информация по БД основная, без секундных метрик и данных о нагрузке в единицу времени:

Data Base Pages – 11 134 865
Buffer Cache Hit Ratio – 100 %
Target Pages – 261 914 624
Cache objects – 96 346
Cache pages – 885 283

Для мониторинга обстановки основные показатели интегрированы в сервер мониторинга и выводы следующие:
Дисковая подсистема и процессорный пул не сильно нагружаются. То есть тех ресурсов что есть вполне хватает. А вот с оперативной памятью вопрос. Для SQL выделено 100 Gb, он «съел» их полностью. Причем было выделено 80, добавили +20 за неделю он их «прикончил».
В связи с этим вопрос, какой оптимальный объем ОЗУ (ориентировочно) мне нужен в данной ситуации (я в курсе, что это очень грубо, без анализа количества запросов и других параметров работы пользователей с БД) и что посмотреть в первую очередь для некой оптимизации БД, без глобальных изменений.
Буду рад ответить на уточняющие вопросы. Спасибо большое заранее.
7 дек 18, 22:33    [21757646]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
SERG1257
Member

Откуда:
Сообщений: 2683
dezhnevo
и что посмотреть в первую очередь
Начните отсюда
https://www.brentozar.com/blitz/
7 дек 18, 22:46    [21757651]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30734
dezhnevo
В связи с этим вопрос, какой оптимальный объем ОЗУ (ориентировочно) мне нужен в данной ситуации (я в курсе, что это очень грубо, без анализа количества запросов и других параметров работы пользователей с БД)
Грубо, можно утверждать, что памяти полностью достаточно, т.к. дополнительную память он поедал неделю, а не несколько минут. Значит, чтения делаются из памяти, и дополнительное увеличение памяти сильно ничего не поменяет.
Да, ещё "Buffer Cache Hit Ratio – 100 %" показывает, что все чтения делаются из памяти, дополнительное подтверждение.
dezhnevo
и что посмотреть в первую очередь для некой оптимизации БД, без глобальных изменений.
Вы же не будете делать эту оптимизацию, правильно? Т.к. вы "Я сам в БД не работаю, запросы не создаю и т.д., все со слов."
Так пусть и посмотрит тот, кто будет заниматься этой задачей. Просто он за одну минуту выяснит хотя бы состояние системы, для чего тут, на форуме, понадобится целый консилиум с вопросами и ответами.
7 дек 18, 23:02    [21757656]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
dezhnevo
Member

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

скажем так, в базе работать нет, а настройками сервера, видимо да. Я смотрю на ситуацию и тоже вижу, что работает, чисто по статистике, вроде норм. Но люди жалуются, что тупит, долго считает, опрашивает и т.д. Поэтому и спрашиваю, на что обраить внимание в 1 очередь. Спасибо.
7 дек 18, 23:26    [21757669]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7211
dezhnevo,

А кто вам сказал, что сервер тупит? Или, по-вашему, на любой тупой sql-запрос результат должен выдаваться мгновенно? Опять же блокировочки...
7 дек 18, 23:34    [21757675]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36688
dezhnevo,

Вы реально ищите кнопку "нажать, когда люди жалуются, что тупит, долго считает, опрашивает"?

Алгоритм действий простой:

1. Выяснить какие запросы тупят.
2. Выяснить, почему тупят.
3. Устранить причину, чтобы не тупили.

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

Сообщение было отредактировано: 7 дек 18, 23:35
7 дек 18, 23:35    [21757676]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
alexeyvg
Member

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

скажем так, в базе работать нет, а настройками сервера, видимо да.

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

Из "параметров здоровья" можно ещё посмотреть на дисковую очередь, она должна быть небольшая.
dezhnevo
Я смотрю на ситуацию и тоже вижу, что работает, чисто по статистике, вроде норм. Но люди жалуются, что тупит, долго считает, опрашивает и т.д. Поэтому и спрашиваю, на что обраить внимание в 1 очередь. Спасибо.
Так значит, с сервером всё норм, осталась работа DBA - понять, почему люди жалуются, и устранить (или дать инфу тем, кто будет устранять).

В общем, по действовать алгоритму Гавриленко Сергей Алексеевич.
8 дек 18, 00:01    [21757691]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
dezhnevo
Member

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

Спасибо, авы пользовались этим набором скриптов? Результат вас устроил, то есть та информация, которую они выводят подтолкнула вас на движение в правильном направлении? по оптимизации работы базы.
8 дек 18, 09:58    [21757767]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
dezhnevo
Member

Откуда:
Сообщений: 47
Гавриленко Сергей Алексеевич,
Идея создания такой кнопки, думаю, всех бы обрадовала :) +- так, но не совсем в такой крайности.
Я задаю вопрос в контексте обслуживания БД, то есть, если с железной частью сервера все ок, тогда действительно нужно общаться с пользователями и понять что тупит. Это я пока сделать не успел, начал работу с сервером напрямую. Считаю это логичным шагом. Дальше буду смотреть на предмет создания неких задач по оптимизации работы БД внутри SQL то есть создания задач в планировщике по, например, переиндексации, ребилду нку и т.д.
Скажем так, я с SQL плотно и глубоко не работал, эта работа, видимо для меня начинается, поэтому спрашиваю у коллег более опытных, мы все с чего-то начинали:) Спасибо.
8 дек 18, 10:06    [21757770]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
L_argo
Member

Откуда:
Сообщений: 1134
па сабжу:

1. попробовать профилером определить популярное место тормозов (долгий отчет, открытие документа и т.д.)
2. Посмотреть на индексы. Хватает ли их по важным таблицам/полям ? Нет ли лишних индексов ?
3. Обновить статистики по важным таблицам.
4. В первую очередь обратить внимание на большие таблицы.
5. Изыскать возможности почистить лишние данные: старые логи, журналы, "бесхозные" таблицы и пр.
6. Заодно проверить настройки бекапов (их может банально не быть) и размеры log-файлов БД.
7. Есть ли возможность поправить SQL-код в приложениях ? Н-р расставить with(nolock) в отчетах.
8 дек 18, 10:37    [21757784]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
dezhnevo
Member

Откуда:
Сообщений: 47
И еще один дурацкий вопрос, по журналу транзакций
Нормально, что он занимает (общий размер для всех баз) 86 Gb? (для какой-то БД меньше, для какой-то больше) Во вложении отношение размера БД к размеру файла транз. Знаю, что этот файл может сильно влиять на производительность в целом.
Спасибо.

К сообщению приложен файл. Размер - 120Kb
8 дек 18, 11:51    [21757795]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30734
dezhnevo
И еще один дурацкий вопрос, по журналу транзакций
Нормально, что он занимает (общий размер для всех баз) 86 Gb? (для какой-то БД меньше, для какой-то больше)
Журналы должны быть такого размера, какой вам нужен. Как можно сказать, много или мало 86 Gb?
"У меня на диске "С" 500Гб файлов, это много или мало, посоветуйте, может, постирать половину?"
8 дек 18, 13:30    [21757837]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
L_argo
Member

Откуда:
Сообщений: 1134
Журналы: Зависит от ситуации, модели данных и наличия репликации.
Все равно время от времени его желательно урезать, т.к. крупная транзакция может его заметно раздуть, а сам от сжиматься не умеет.
Даже для модели Full я время от времени урезаю журнал. Обычно незадолго до полного бекапа (бекап лога каждых 10 мин).


Еще нофсякей посмотрите на размер базы ТемрДБ. Иногда тоже вырастает вплоть до остановки работы. Особенно свойственно для 1С. :)

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

Также помню случай, когда МССКЛ 2к5 начинал дичайше тормозить из-за аварии резервного контроллера домена (кот.был на выделенном сервере).
8 дек 18, 14:24    [21757846]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36688
L_argo
Все равно время от времени его желательно урезать, т.к. крупная транзакция может его заметно раздуть, а сам от сжиматься не умеет.
Даже для модели Full я время от времени урезаю журнал.
Ой, ну рукалицо же! Нахрена? Места на диске мало? Или вы прям кайфуете в тот момент, когда приходит крупная транзакция и все начинают дополнительно ждать авторасширения лога? Типа, чтобы подольше все было?

L_argo
Еще желательно предусмотреть регламент по перезагрузке МССКЛ, если есть такая возможность (ночью, в выходной и т.п.).
Еще одно "нахрена".

Сообщение было отредактировано: 8 дек 18, 14:32
8 дек 18, 14:30    [21757848]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
dezhnevo
Member

Откуда:
Сообщений: 47
Гавриленко Сергей Алексеевич,

Очень здорово, что у вас все в порядке с чувством юмора и желанием поучить жизни других людей, но я так и не добился хотя пары разумных советов от вас, как видимо от человека, понимающего суть вопроса и имеющего возможность поделиться с окружающими, на что намекает, видимо, ваш логин на ресурсе и количество сообщений. Мой вопрос - не звонок вам в ухо, а обращение к людям, которые без "рука-лицо" могут донести информацию, или дать пару ссылок на нужные ресурсы, типа этого и далее внутри на ссылки MSDN https://habr.com/company/technoserv/blog/336070/
На вопрос, что же вы сразу туда не пошли, можно я отвечать не буду. Ну, без обид. Мойду "учить матчасть" (и как, меня бедного, туда не послали еще:)
Тема закрыта, спасибо.
8 дек 18, 14:48    [21757855]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
dezhnevo
Member

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

даже больше, смело, можете стирать! :) ну раз уж в таком ключе
8 дек 18, 14:49    [21757856]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
dezhnevo
Member

Откуда:
Сообщений: 47
L_argo

Еще нофсякей посмотрите на размер базы ТемрДБ. Иногда тоже вырастает вплоть до остановки работы. Особенно свойственно для 1С. :)


На SQL не 1С, сразу скажу. Размер tempDB - 30 Gb и он лежит на диске C в пути по умолчанию на сервере (C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER2012\MSSQL\DATA)
8 дек 18, 14:53    [21757858]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
L_argo
Member

Откуда:
Сообщений: 1134
Еще одно "нахрена".
Иногда заметно помогает, если приложения написаны криво. :)
Кстати это один из советов по тюнингу производительности 1С.

Для нормально разработанных и стабильно работающих систем этот совет действительно не нужен.
8 дек 18, 14:56    [21757862]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36688
dezhnevo
Очень здорово, что у вас все в порядке с чувством юмора и желанием поучить жизни других людей
А ничего, что я не с вами разговаривал? Вас же пытался уберечь от левых советов?

dezhnevo
нужные ресурсы, типа этого и далее внутри на ссылки MSDN https://habr.com/company/technoserv/blog/336070/
Когда вы осознаете, что все, что там написано вроде как и по делу, но работает, когда база нормально сдалена изначально, и вам далеко не факт, что поможет, то велкам бэк.

Сообщение было отредактировано: 8 дек 18, 15:20
8 дек 18, 15:18    [21757872]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
alexeyvg
Member

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

даже больше, смело, можете стирать! :) ну раз уж в таком ключе
Вы же именно "в таком ключе" задаёте вопрос.
У меня были логи от мегабайтов, до больше чем 1 Тб, и это было нормально для тех БД. И что я должен ответить на вопрос "Нормально, что он занимает (общий размер для всех баз) 86 Gb?"
dezhnevo
а обращение к людям, которые без "рука-лицо" могут донести информацию, или дать пару ссылок на нужные ресурсы
Вам говорят, что нельзя "парой ссылок" решить такую задачу.
Либо вы находите соответствующих людей, если вы менеджер, которому поручили эту работу.
Или, если вы джуниор-айтишник, устраиваетесь работать так, что бы рядом были специалисты, читаете книги, и спрашиваете-спрашиваете. И тогда год или два вы сможете легко выполнять такую работу в простых, типичных случаях (какой, уверен, у вас сейчас и есть).

А лечение путём выполнения инструкций с форума сильно непродуктивно, и, главное, это скучно для отвечающих.
Да, а вы как думали? покажите-ка свои ежедневные десятки ответов на такого рода вопросы? Не практикуете, скучно?
Тут общение специалистов по MSSQL, опытных или начинающих, а для удалёнки тут есть разделы "Работа" и "Вакансии".
8 дек 18, 16:56    [21757927]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
SERG1257
Member

Откуда:
Сообщений: 2683
dezhnevo
Спасибо, авы пользовались этим набором скриптов?
Я похож на человека не отвечающего за базар? Конечно пользовался. Только этот скрипт sp_blitz НИЧЕГО НЕ ЧИНИТ. только указывает на самые распространенные ошибки в конфигурировании. Задает направление поисков.
dezhnevo
даже больше, смело, можете стирать! :) ну раз уж в таком ключе
http://citforum.ru/howto/smart-questions-ru.shtml#keepcool
8 дек 18, 19:25    [21758051]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
dezhnevo
Member

Откуда:
Сообщений: 47
SERG1257,
Спасибо.
Ну да, айтишники такие, мнительные и ранимые нутуры. Высоко и очень тонко организованные:)
Насчёт скриптов я понял что это не та самая заветная кнопка. Посмотрел. Буду пробовать потихоньку. Ещё раз спасибо. Всем!!!
8 дек 18, 20:43    [21758128]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7391
dezhnevo, сервер заберет памяти не меньше, чем занимают данные, к которым происходят обращения. Плюс буферная память для сортировок.

Тормозить может как по причине недостаточной производительности оборудования, так и по причине обработки больших объемов данных или наличия длительно открытых транзакций (первое может зависеть от второго). Для диагностики железа и софта существует большое количество средств, основные из которых - счетчики производительности SQL и Windows и динамические административые представления. Какие выбрать и какие показатели ожидать - можно найти в интернете. Советую не опираться на одну-две публикации, а изучить несколько, не всегда авторы точны в рекомендациях.

Чтобы наладить работу сервера Вам придется изучить и просеять внушительный объём информации (и затратить время, разумеется). Так что сразу решите - хотите Вы этим заняться или нет.
10 дек 18, 12:20    [21758966]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
dezhnevo
Member

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

Заниматься надо, этот вопрос не стоит. Про информацию согласен. Надо изучать, чем и занимаюсь. Прикрутил SQL к Zabbix. Спасибо.
10 дек 18, 12:23    [21758969]     Ответить | Цитировать Сообщить модератору
 Re: Производительность SQL сервера ВОПРОС!  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Гавриленко Сергей Алексеевич
dezhnevo
нужные ресурсы, типа этого и далее внутри на ссылки MSDN https://habr.com/company/technoserv/blog/336070/
Когда вы осознаете, что все, что там написано вроде как и по делу, но работает, когда база нормально сдалена изначально, и вам далеко не факт, что поможет, то велкам бэк.
А мне очень понравился самый первый комментарий с огромным количеством вопросов к авторам этой статьи, который заканчивается словами:
Я выдохся. Вопросы еще есть, а статья ни о чем.
11 дек 18, 01:18    [21759704]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить