powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Производительность SQL сервера ВОПРОС!
60 сообщений из 60, показаны все 3 страниц
Производительность SQL сервера ВОПРОС!
    #39744576
dezhnevo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
На новом месте работы поставили задачу разобраться с производительностью сервера 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 за неделю он их «прикончил».
В связи с этим вопрос, какой оптимальный объем ОЗУ (ориентировочно) мне нужен в данной ситуации (я в курсе, что это очень грубо, без анализа количества запросов и других параметров работы пользователей с БД) и что посмотреть в первую очередь для некой оптимизации БД, без глобальных изменений.
Буду рад ответить на уточняющие вопросы. Спасибо большое заранее.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744580
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dezhnevo и что посмотреть в первую очередь Начните отсюда
https://www.brentozar.com/blitz/
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744585
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dezhnevoВ связи с этим вопрос, какой оптимальный объем ОЗУ (ориентировочно) мне нужен в данной ситуации (я в курсе, что это очень грубо, без анализа количества запросов и других параметров работы пользователей с БД)Грубо, можно утверждать, что памяти полностью достаточно, т.к. дополнительную память он поедал неделю, а не несколько минут. Значит, чтения делаются из памяти, и дополнительное увеличение памяти сильно ничего не поменяет.
Да, ещё "Buffer Cache Hit Ratio – 100 %" показывает, что все чтения делаются из памяти, дополнительное подтверждение.
dezhnevoи что посмотреть в первую очередь для некой оптимизации БД, без глобальных изменений.Вы же не будете делать эту оптимизацию, правильно? Т.к. вы "Я сам в БД не работаю, запросы не создаю и т.д., все со слов."
Так пусть и посмотрит тот, кто будет заниматься этой задачей. Просто он за одну минуту выяснит хотя бы состояние системы, для чего тут, на форуме, понадобится целый консилиум с вопросами и ответами.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744596
dezhnevo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

скажем так, в базе работать нет, а настройками сервера, видимо да. Я смотрю на ситуацию и тоже вижу, что работает, чисто по статистике, вроде норм. Но люди жалуются, что тупит, долго считает, опрашивает и т.д. Поэтому и спрашиваю, на что обраить внимание в 1 очередь. Спасибо.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744600
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dezhnevo,

А кто вам сказал, что сервер тупит? Или, по-вашему, на любой тупой sql-запрос результат должен выдаваться мгновенно? Опять же блокировочки...
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744601
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dezhnevo,

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

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

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

У вас с каким пунктом проблема?
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744610
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dezhnevoalexeyvg,

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

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

В общем, по действовать алгоритму Гавриленко Сергей Алексеевич.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744655
dezhnevo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257,

Спасибо, авы пользовались этим набором скриптов? Результат вас устроил, то есть та информация, которую они выводят подтолкнула вас на движение в правильном направлении? по оптимизации работы базы.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744657
dezhnevo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей Алексеевич,
Идея создания такой кнопки, думаю, всех бы обрадовала :) +- так, но не совсем в такой крайности.
Я задаю вопрос в контексте обслуживания БД, то есть, если с железной частью сервера все ок, тогда действительно нужно общаться с пользователями и понять что тупит. Это я пока сделать не успел, начал работу с сервером напрямую. Считаю это логичным шагом. Дальше буду смотреть на предмет создания неких задач по оптимизации работы БД внутри SQL то есть создания задач в планировщике по, например, переиндексации, ребилду нку и т.д.
Скажем так, я с SQL плотно и глубоко не работал, эта работа, видимо для меня начинается, поэтому спрашиваю у коллег более опытных, мы все с чего-то начинали:) Спасибо.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744665
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
па сабжу:

1. попробовать профилером определить популярное место тормозов (долгий отчет, открытие документа и т.д.)
2. Посмотреть на индексы. Хватает ли их по важным таблицам/полям ? Нет ли лишних индексов ?
3. Обновить статистики по важным таблицам.
4. В первую очередь обратить внимание на большие таблицы.
5. Изыскать возможности почистить лишние данные: старые логи, журналы, "бесхозные" таблицы и пр.
6. Заодно проверить настройки бекапов (их может банально не быть) и размеры log-файлов БД.
7. Есть ли возможность поправить SQL-код в приложениях ? Н-р расставить with(nolock) в отчетах.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744673
dezhnevo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще один дурацкий вопрос, по журналу транзакций
Нормально, что он занимает (общий размер для всех баз) 86 Gb? (для какой-то БД меньше, для какой-то больше) Во вложении отношение размера БД к размеру файла транз. Знаю, что этот файл может сильно влиять на производительность в целом.
Спасибо.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744699
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dezhnevoИ еще один дурацкий вопрос, по журналу транзакций
Нормально, что он занимает (общий размер для всех баз) 86 Gb? (для какой-то БД меньше, для какой-то больше)Журналы должны быть такого размера, какой вам нужен. Как можно сказать, много или мало 86 Gb?
"У меня на диске "С" 500Гб файлов, это много или мало, посоветуйте, может, постирать половину?"
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744707
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журналы: Зависит от ситуации, модели данных и наличия репликации.
Все равно время от времени его желательно урезать, т.к. крупная транзакция может его заметно раздуть, а сам от сжиматься не умеет.
Даже для модели Full я время от времени урезаю журнал. Обычно незадолго до полного бекапа (бекап лога каждых 10 мин).


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

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

Также помню случай, когда МССКЛ 2к5 начинал дичайше тормозить из-за аварии резервного контроллера домена (кот.был на выделенном сервере).
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744709
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argoВсе равно время от времени его желательно урезать, т.к. крупная транзакция может его заметно раздуть, а сам от сжиматься не умеет.
Даже для модели Full я время от времени урезаю журнал.Ой, ну рукалицо же! Нахрена? Места на диске мало? Или вы прям кайфуете в тот момент, когда приходит крупная транзакция и все начинают дополнительно ждать авторасширения лога? Типа, чтобы подольше все было?

L_argoЕще желательно предусмотреть регламент по перезагрузке МССКЛ, если есть такая возможность (ночью, в выходной и т.п.). Еще одно "нахрена".
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744715
dezhnevo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей Алексеевич,

Очень здорово, что у вас все в порядке с чувством юмора и желанием поучить жизни других людей, но я так и не добился хотя пары разумных советов от вас, как видимо от человека, понимающего суть вопроса и имеющего возможность поделиться с окружающими, на что намекает, видимо, ваш логин на ресурсе и количество сообщений. Мой вопрос - не звонок вам в ухо, а обращение к людям, которые без "рука-лицо" могут донести информацию, или дать пару ссылок на нужные ресурсы, типа этого и далее внутри на ссылки MSDN https://habr.com/company/technoserv/blog/336070/
На вопрос, что же вы сразу туда не пошли, можно я отвечать не буду. Ну, без обид. Мойду "учить матчасть" (и как, меня бедного, туда не послали еще:)
Тема закрыта, спасибо.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744716
dezhnevo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

даже больше, смело, можете стирать! :) ну раз уж в таком ключе
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744718
dezhnevo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
L_argo
Еще нофсякей посмотрите на размер базы ТемрДБ. Иногда тоже вырастает вплоть до остановки работы. Особенно свойственно для 1С. :)


На SQL не 1С, сразу скажу. Размер tempDB - 30 Gb и он лежит на диске C в пути по умолчанию на сервере (C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER2012\MSSQL\DATA)
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744721
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще одно "нахрена".Иногда заметно помогает, если приложения написаны криво. :)
Кстати это один из советов по тюнингу производительности 1С.

Для нормально разработанных и стабильно работающих систем этот совет действительно не нужен.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744727
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dezhnevoОчень здорово, что у вас все в порядке с чувством юмора и желанием поучить жизни других людейА ничего, что я не с вами разговаривал? Вас же пытался уберечь от левых советов?

dezhnevoнужные ресурсы, типа этого и далее внутри на ссылки MSDN https://habr.com/company/technoserv/blog/336070/ Когда вы осознаете, что все, что там написано вроде как и по делу, но работает, когда база нормально сдалена изначально, и вам далеко не факт, что поможет, то велкам бэк.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744750
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dezhnevoalexeyvg,

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

А лечение путём выполнения инструкций с форума сильно непродуктивно, и, главное, это скучно для отвечающих.
Да, а вы как думали? покажите-ка свои ежедневные десятки ответов на такого рода вопросы? Не практикуете, скучно?
Тут общение специалистов по MSSQL, опытных или начинающих, а для удалёнки тут есть разделы "Работа" и "Вакансии".
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744770
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dezhnevo Спасибо, авы пользовались этим набором скриптов? Я похож на человека не отвечающего за базар? Конечно пользовался. Только этот скрипт sp_blitz НИЧЕГО НЕ ЧИНИТ. только указывает на самые распространенные ошибки в конфигурировании. Задает направление поисков.
dezhnevo даже больше, смело, можете стирать! :) ну раз уж в таком ключе http://citforum.ru/howto/smart-questions-ru.shtml#keepcool
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39744789
dezhnevo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257,
Спасибо.
Ну да, айтишники такие, мнительные и ранимые нутуры. Высоко и очень тонко организованные:)
Насчёт скриптов я понял что это не та самая заветная кнопка. Посмотрел. Буду пробовать потихоньку. Ещё раз спасибо. Всем!!!
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39745231
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dezhnevo, сервер заберет памяти не меньше, чем занимают данные, к которым происходят обращения. Плюс буферная память для сортировок.

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

Чтобы наладить работу сервера Вам придется изучить и просеять внушительный объём информации (и затратить время, разумеется). Так что сразу решите - хотите Вы этим заняться или нет.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39745233
dezhnevo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,

Заниматься надо, этот вопрос не стоит. Про информацию согласен. Надо изучать, чем и занимаюсь. Прикрутил SQL к Zabbix. Спасибо.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39745682
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевичdezhnevoнужные ресурсы, типа этого и далее внутри на ссылки MSDN https://habr.com/company/technoserv/blog/336070/ Когда вы осознаете, что все, что там написано вроде как и по делу, но работает, когда база нормально сдалена изначально, и вам далеко не факт, что поможет, то велкам бэк.А мне очень понравился самый первый комментарий с огромным количеством вопросов к авторам этой статьи, который заканчивается словами: Я выдохся. Вопросы еще есть, а статья ни о чем.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39745684
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257dezhnevo Спасибо, авы пользовались этим набором скриптов? Я похож на человека не отвечающего за базар? Конечно пользовался. Только этот скрипт sp_blitz НИЧЕГО НЕ ЧИНИТ. только указывает на самые распространенные ошибки в конфигурировании. Задает направление поисков.Брент хорошо умеет продавать свои услуги. Дальше там написано, что если вы офигеете от количества "ошибок" который выдаст моя процедура, но читать книжки и разбираться во всем этом вам лень, то наймите меня, я за 3 дня и огромную сумму денег вам все исправлю.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39745766
dezhnevo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mind,

Ясно, что есть люди, специалисты, которые во всем разберутся и очень быстро. Но разобраться нужно мне, поэтому будем читать книжки.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39745780
Androgen1985
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dezhnevo,
а может изначально то проблема не в SQL сервер, а в приложении которое тормозит? Пользователи не в management studio же работают. А приложение может тормозить не только от того, что SQL долго обрабатывает запросы
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39745813
dezhnevo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Androgen1985,

Абсолютно верное и логичное утверждение. И в этом направлении тоже смотрю. Есть такие подозрения
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39745982
Ondayl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dezhnevo, как я вас понимаю. Несколько лет назад находился в ситуации 1 в 1. Я начинал с топа медленных запросов и счетчиков производительности Windows в части производительности дисковой подсистемы. Это легко сделать и хорошо задает направление "где дальше копать".
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39746010
dezhnevo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ondayl,

:)
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39746161
Ondayl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dezhnevo, у вас уже есть информация со счетчиков и топы запросов?
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39746174
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mind Брент хорошо умеет продавать свои услуги.будто это что-то плохое
Mind я за 3 дня и огромную сумму денег вам все исправлю.просчитался американец, не заплатит ему dezhnevo ни копейки

По сабжу - я бы начал работать с пользователями которые жалуются, когда именно "тормозит", что именно "плохо работает".
Иначе это бродить в потемках.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39746194
dezhnevo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ondayl,

Информация собирается. Пока не все метрики учтены
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39746257
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257По сабжу - я бы начал работать с пользователями которые жалуются, когда именно "тормозит", что именно "плохо работает".
Иначе это бродить в потемках.Тормозят юсеры, не отвечают на запросы сервера.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39746347
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257По сабжу - я бы начал работать с пользователями которые жалуются, когда именно "тормозит", что именно "плохо работает".
Иначе это бродить в потемках.+1. Мне как то сказали что сервер тормозит. Стали смотреть что юзер делает, а там приложение выгружает данные с сервера одним запросом за 30 секунд в локальный кэш, потом отключается и начинает что-то там лопатить, excel файлы формировать и т.д. и так на пол часа.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39746481
DaniilSeryi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MindSERG1257По сабжу - я бы начал работать с пользователями которые жалуются, когда именно "тормозит", что именно "плохо работает".
Иначе это бродить в потемках.+1. Мне как то сказали что сервер тормозит. Стали смотреть что юзер делает, а там приложение выгружает данные с сервера одним запросом за 30 секунд в локальный кэш, потом отключается и начинает что-то там лопатить, excel файлы формировать и т.д. и так на пол часа.

Но виноват, разумеется, SQL Server. :-)))
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39746533
dezhnevo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mind,

в моем случае такого нет, ничего кроме sql на сервере не крутится
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39746661
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dezhnevoЗдравствуйте.
На новом месте работы поставили задачу разобраться с производительностью сервера 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 за неделю он их «прикончил».
В связи с этим вопрос, какой оптимальный объем ОЗУ (ориентировочно) мне нужен в данной ситуации (я в курсе, что это очень грубо, без анализа количества запросов и других параметров работы пользователей с БД) и что посмотреть в первую очередь для некой оптимизации БД, без глобальных изменений.
Буду рад ответить на уточняющие вопросы. Спасибо большое заранее.
Давайте я напишу несколько очевидных вещей, которые гарантированно помогают (кроме шуток), увеличить производительность MSSQLSERVER. Правда, речь идет мере такого увеличения :-).
1. Разнесите базы, логи и tempdb по разным дискам. Заметьте, что крайне желательно, чтобы это были физически разные тома. Например, если у вас много дисков (10 :-), зеркало - под систему, и 8 болтаются на рэйд-контроллере), то лучшей конфигурацией будет зеркало пол логи, зеркало под темпдб, рэйд10 под данные.
2. Если у вас СХД - озаботьтесь приоритетами при работе с томами. Для логов критически важна задержка (латентность), для данных - общая пропускная способность.
3. ОБЯЗАТЕЛЬНО уберите tempdb с системного диска.
В качестве бюджетного "ускорителя быстродействия SQL" я бы посоветовал купить SSD для PCI-EX с большим ресурсом, и вынести tempdb на него. Тут правда есть момент, что в случае его отказа SQLSERVER аварийно остановится, но разрушения баз (теоретически) не произойдет, и вы сможете запуститься, после некоторых телодвижений ( https://infostart.ru/public/236716/) в течение нескольких минут после перезагрузки.
Ну, разумеется, если у вас не система 24х7 и вы не банковскими транзакциями рулите.
4. Если у вас не энтерпрайз версия SQLSQRVER, то больше 64 (2012, 2014) или 128 (2016SP1+) отдавать ему бессмысленно. Оно не умеет.
5. Если у вас сильно больше памяти, например - 256, и активно используется tempdb при работе (посмотрите хотя бы системным монитором) - подумайте, может сделать на "лишней" памяти RAM-диск, и разместить там tempdb.
6. Ограничьте, с учетом вышеизложенного, память, доступную для SQLSERVER. Лучше оставить системе 10%, но не менее 4ГБ.
7. Обязательно установите Instant File Initialization https://www.brentozar.com/blitz/instant-file-initialization/
8. Если у вас система с 8 ядрами - сделайте 8 файлов tempdb, если их больше - то еще +4 файла на каждые 8 ядер, но не более, чем 16 файлов. Обязательно установите для файлов одинаковый начальный размер и одинаковое приращение. Где-то 128-512Мб.
9. Установите такое же приращение для всех файлов БД, которые вы используете. Причем для файлов данных 256-512, для логов 32-64Мб (логи заполняются нулями при приращении, поэтому большое приращение может внезапно подвесить какой нибудь запрос на обновление).
10. Убедитесь, что опция AUTO CLOSE для БД - ВЫКЛЮЧЕНА. За опцию AUTO SHRINK - вообще нужно расстреливать сразу и без суда.
11. Убедитесь, что опция автоапдейта статистики ВКЛЮЧЕНА.
12. Не смотря на п.11. создайте задачу обслуживания по пересчету статистики рабочей базы, и сделайте ее автозапуск в периоды минимальной загрузки.
13. На самой деле задача на ребилд/реорганизацию индексов НЕ НУЖНА (при любом разумном сценарии использования SQL) :-)
14. Убедитесь, что опция БД Page Verify стоит в CHECKSUM. Если это не так, немедленно установите эту опцию и запустите DBCC.
15. Убедитесь, что вы регулярно делаете полный бэкап БД, и бэкап лога БД, для всех баз с FULL моделью восстановления.
16. Имейте ввиду, что SIMPLE модель восстановления НЕ имеет преимуществ перед FULL по быстродействию :-)
17. Перенесите базу на SSD.
18. Если вы не можете этого сделать, а у вас 2014+ SQL - хотя бы включите BPE https://olontsev.ru/tag/buffer-pool-extension/
Но, имейте ввиду, что SSD для этого должен сидеть на 6G SATA как минимум.
19. За практику шринка БД - нужно, по хорошему, расстреливать. Делать это нужно только в том случае, если вы отчетливо осознаете, что и зачем хотите сделать, и какие последствия этого будут.
20. Уберите флаг системного индексирования для быстрого поиска на томах, где расположены базы.
21. Добавьте файлы с базами в исключения антивируса.
22. Отключите на томах с базами генерацию 8.3 имен и времени последнего доступа.
23. Можно довольно сильно увеличить быстродействие БД, правильно настроив индексы. Но для этого вы должны понимать, что и зачем вы делаете :-)

Прим:
:-) помечены теоретически спорные вопросы, которые, однако, в 90+% случаев работают именно так, как я сказал :-)
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39746681
dezhnevo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
uaggster,

Во первых, спасибо, что не поленились ответить. Из множества статей и видео, которые сейчас обрабатываю, в большинстве случаев с вами соглашусь.
У меня вопрос по физике только один, я разбиваю tempdb на части, сейчас один и на системном медленном винте (это уже по любому узкое место), по количеству и размеру приращения все понятно, но! от чего отталкиваться определяя его первоначальный размер. Пока логика не ясна.
Например, сейчас один файл размером 30 Gb, делю его на 12, так как 8+4 в моем случае, процент роста ставлю 10% и без ограничения (хотя в рекомендациях говорится, что стоит ограничить рост по времени, хотя бы 2 минутами), внезапного аномального роста не наблюдается. Вопрос, какой изначальный размер каждого файла указывать, какая формула вычисляет это? Для меня пока не ясно.
Вопрос по ребилду и переиндексу, после переноса на ssd, думаю не актуален, и даже противопоказан.
Еще раз спасибо.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39746691
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggsterНапример, если у вас много дисков (10 :-), зеркало - под систему, и 8 болтаются на рэйд-контроллере), то лучшей конфигурацией будет зеркало пол логи, зеркало под темпдб, рэйд10 под данные.

Таки нет. Это очень плохое решение. А вот наоборот - зеркало под БД и raid10 под tempdb, это уже кошерно.
И готов пояснить, почему.

Когда вылетит один диск из 4-х (а он обязательно вылетит) - то ребилд тома под tempdb это не страшно. Отключите пользователей, запустите с БД внеочередной бэкап. Плюс скорость на запись и чтение для tempdb почти всегда важнее, чем для большой БД.

А вот если вылетит диск под томом с БД и начнется ребилд - Вы будете в страхе ожидать, что при выполнении бэкапа из-за повышенной нагрузки вылетит второй диск в том же зеркале из страйпа - и потеряете много свежих данных.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39746692
архивариус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dezhnevoпроцент роста ставлю 10% imho, прирост в процентах = возможный выстрел в ногу в будущем, общепринятое мнение достаточно давно, несмотря на настройки по умолчанию MS ?!
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39746707
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dezhnevouaggster,

Во первых, спасибо, что не поленились ответить. Из множества статей и видео, которые сейчас обрабатываю, в большинстве случаев с вами соглашусь.
У меня вопрос по физике только один, я разбиваю tempdb на части, сейчас один и на системном медленном винте (это уже по любому узкое место), по количеству и размеру приращения все понятно, но! от чего отталкиваться определяя его первоначальный размер. Пока логика не ясна.

Если перенесете tempdb на отдельный диск, то я советую вообще установить начальный размер файла = месту на диске / количество файлов (ну, за минусом места под лог ~1-2Гб, tempdb в общем случае большой лог не нужен), с приращением 0.
Однако, если не включите мгновенную инициализацию файлов - рискуете заполучить старт SQLSERVER в течение десятков минут :-)
dezhnevoНапример, сейчас один файл размером 30 Gb, делю его на 12, так как 8+4 в моем случае, процент роста ставлю 10% и без ограничения (хотя в рекомендациях говорится, что стоит ограничить рост по времени, хотя бы 2 минутами), внезапного аномального роста не наблюдается. Вопрос, какой изначальный размер каждого файла указывать, какая формула вычисляет это?

Процентный прирост файлов использовать КРАЙНЕ не рекомендуется.
Установите фиксированный прирост.
dezhnevoДля меня пока не ясно.
Вопрос по ребилду и переиндексу, после переноса на ssd, думаю не актуален, и даже противопоказан.
Еще раз спасибо.
Смысл ребилда и реиндекса - не в этом.
Упрощенно, дело в следующем:
При интенсивных вставках и обновлениях данных, в кластерном и некластерных индексах могут образовываться "дырки". Страницы, и данные на страницах, которые помечены как удаленные.
SQL же читает данные с дисками кусками по 8кб, и отображает их в память тоже этими же кусками, целиком, без изменения.
И вот представьте, что он вытянул с диска страницу, отобразил ее в памяти, а из 8 кб там полезных только 2 кб, остальное - помечено как удаленное.
Во первых он 8 кб с диска тащил, из которых только 2 - полезных (нагрузка на диск), а во-вторых в памяти то он 8 кб так и так занял, не смотря на то, что там всего 2 кб полезных.
Вот это и нужно исправить реорганизацией или перестроением.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39746721
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andy_OLAPuaggsterНапример, если у вас много дисков (10 :-), зеркало - под систему, и 8 болтаются на рэйд-контроллере), то лучшей конфигурацией будет зеркало пол логи, зеркало под темпдб, рэйд10 под данные.

Таки нет. Это очень плохое решение. А вот наоборот - зеркало под БД и raid10 под tempdb, это уже кошерно.
И готов пояснить, почему.

Когда вылетит один диск из 4-х (а он обязательно вылетит) - то ребилд тома под tempdb это не страшно. Отключите пользователей, запустите с БД внеочередной бэкап. Плюс скорость на запись и чтение для tempdb почти всегда важнее, чем для большой БД.
[/quot]
А вот это зависит от интенсивности использование tempdb.
Если у вас, например, версионирование вГлючено, то может и да.
А вот, например, если у вас база гигабайт 500, а памяти всего 16 - то таки нет, и запросы, скажем так, нелокальны. Скорее всего, уже определяющим будет время подъема данных с диска.
Andy_OLAPА вот если вылетит диск под томом с БД и начнется ребилд - Вы будете в страхе ожидать, что при выполнении бэкапа из-за повышенной нагрузки вылетит второй диск в том же зеркале из страйпа - и потеряете много свежих данных.
Почему? Логи то на другом диске.
Ну, забекаплю хвост лога. Или буду бэкапить его почаще.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39746733
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggsterА вот это зависит от интенсивности использование tempdb.
Если у вас, например, версионирование вГлючено, то может и да.
А вот, например, если у вас база гигабайт 500, а памяти всего 16 - то таки нет, и запросы, скажем так, нелокальны. Скорее всего, уже определяющим будет время подъема данных с диска.

Тут еще один нюанс. Допустим, у Вас 4 диска по X Тб, Вы их объединили в RAID-10, получили 2*X Тбайт. Один диск исчез, на замену ничего нет. Все плохо.

А теперь у Вас ситуация наоборот. 6 дисков по X, зеркало под БД, RAID-10 под tempdb. Вылетел диск из зеркала. Достали из сейфа запасной или воткнули hot-spare в зеркало - а ребилд не идет. Диск с бэдами. А думали, что кошерный. Что делать.
Развалить RAID-10, собрать том с той же буквой на зеркале, под tempdb, места будет в 2 раза меньше - не страшно. Один из полученных резервных дисков отдать под том с БД.

Аналогично вылетел диск из RAID-10 под tempdb - взяли 2 из 3 и собрали зеркало под tempdb. Просела скорость - не важно. Придет кошерный запасной диск - соберете обратно RAID-10.

Тут в соседней теме коллега плачет горькими слезами, что начальство купило скоростную полку под бэкапы боевых серверов - и отдало на другие задачи. А бэкапы снова заливаются на присоединенный внешний диск. Даже не на NAS с зеркалом.

В университетах и лабораториях можно экспериментировать с расположением данных на дисках. А в фирмах все решает бюджет, который всегда режут, которого всегда не хватает на самые важные вещи. И скорость запросов к БД не так важна, как сохранность данных и время простоя на боевом сервере .
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39746735
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andy_OLAP,

Не помещается база под X, но влезет в 2*X Тбайт - это не повод класть ее на RAID-10. Это повод пойти к начальству и выбить бюджет на замену дисков - ВСЕХ дисков - на более емкие и скоростные ПЛЮС заранее продумать вопрос о том, что и размеры бэкапов такой базы тоже растут, и наверняка потребуется увеличивать диски на более емкие и на полке, где бэкапы лежат. Не нужно выкраивать 7 шапок из шкуры кролика заранее.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39747045
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggsterdezhnevoЗдравствуйте.
На новом месте работы поставили задачу разобраться с производительностью сервера SQL. Сказали, что пользователи жалуются, «тормозит, плохо работает».
Давайте я напишу несколько очевидных вещей, которые гарантированно помогают (кроме шуток), увеличить производительность MSSQLSERVER. Правда, речь идет мере такого увеличения :-)Большая часть перечисленного с вероятностью 95% никак не повлияет на «тормозит, плохо работает». В итоге работы много, а толку мало. Например теже 12 файлов под tempdb. Больше 8 имеет смысл создавать только если есть tempdb contention. Короче в качестве обучения конечно хорошо, но проблему ТС скорее всего не решит, ну кроме пункта 23 :-)
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39747048
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggsterПри интенсивных вставках и обновлениях данных, в кластерном и некластерных индексах могут образовываться "дырки". Страницы, и данные на страницах, которые помечены как удаленные.
а из 8 кб там полезных только 2 кб, остальное - помечено как удаленное.Такое возможно только при массовых удалениях, ибо вставки и обновления делят страницу попалам, так что ниже 50% использованное место все таки очень редко опускается.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39747052
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggster17. Перенесите базу на SSD.
18. Если вы не можете этого сделать, а у вас 2014+ SQL - хотя бы включите BPE https://olontsev.ru/tag/buffer-pool-extension/


17. смешно. на один чтоле?

А вы знаете, что пропускная способность у SSD - никакущая. Тут чем больше спинделей тем лучше.

18. Как далеки они были от народа?

Ктото еще покупается на эту туфту?
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39747053
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По остальным пункам, тоже пальцем в небо. Что если оно уже и есть так? Тогда что посоветуете?
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39747082
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Relic Hunteruaggster17. Перенесите базу на SSD.
18. Если вы не можете этого сделать, а у вас 2014+ SQL - хотя бы включите BPE https://olontsev.ru/tag/buffer-pool-extension/


17. смешно. на один чтоле?

А вы знаете, что пропускная способность у SSD - никакущая. Тут чем больше спинделей тем лучше.

18. Как далеки они были от народа?

Ктото еще покупается на эту туфту?
Почему на один? На зеркало.
Ну и следите за их состоянием :-)
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39747090
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Relic HunterПо остальным пункам, тоже пальцем в небо. Что если оно уже и есть так? Тогда что посоветуете?
А вы попробуйте пару пунктов выГлючить, и насладитесь результатом.

Это советы "уровня ноль".
Чтобы делать НЕ так - нужно понимать, зачем ты так сделал. Если так уже сделано, но по прежнему тормозит - то проблема уже за пределами компетенции ТС. Пусть наймут консультанта или ТС пусть сядет за курсы.

Кстати, не продемонстрируете ли свои ТОП(23) "что нужно сделать/проверить на тормозящем сервере в первую очередь", чтобы мы увидели, как это "не пальцем в небо"?
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39747107
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, забыл еще пункт:
24. Если базы лежат не на отдельной полке, а на томах, подключенных к рэйд контроллеру сервера - проверьте, есть ли на контроллере сервера батарейка и включен ли режим кэширования Write-back.
Для увеличения производительности крайне рекомендуется на контроллере с батарейкой отключить кэш дисков и включить режим кэширование данных контроллером Write-back .
Это можно сделать и без батарейки. Но тогда вжимайтесь в кресло и делайте почаще бэкап, особенно бэкап логов. :-)
Там же, в настройках контроллера, есть настройка режима упреждающего чтения read ahead.
Вот в отношении нее - ничего определенного сказать не могу. Если приложение дергает по одной записи из базы - то нужен режим "без упреждающего чтения". Если наоборот, речь идет о базе статистики, и приложение читает данные большими кусками - то "с упреждающим чтением".
Попробуйте и так и этак, и померьте производительность.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39747140
Мифодя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
uaggsterКстати, забыл еще пункт:
24. Если базы лежат не на отдельной полке, а на томах, подключенных к рэйд контроллеру сервера - проверьте, есть ли на контроллере сервера батарейка и включен ли режим кэширования Write-back.
Для увеличения производительности крайне рекомендуется на контроллере с батарейкой отключить кэш дисков и включить режим кэширование данных контроллером Write-back .
Это можно сделать и без батарейки. Но тогда вжимайтесь в кресло и делайте почаще бэкап, особенно бэкап логов. :-)
Там же, в настройках контроллера, есть настройка режима упреждающего чтения read ahead.
Вот в отношении нее - ничего определенного сказать не могу. Если приложение дергает по одной записи из базы - то нужен режим "без упреждающего чтения". Если наоборот, речь идет о базе статистики, и приложение читает данные большими кусками - то "с упреждающим чтением".
Попробуйте и так и этак, и померьте производительность.

ПО поводу рейд контроллера и параметров, полностью с вами согласен, и ещё немного добавлю по поводу read ahead, где-то читал что есть ещё одно положение этого параметра, адаптивный вроде бы. Суть в том что контроллер сам определяет нужно ли упереждающее чтение или нет в зависимости от потока запросов, и может как включать его так и выключать.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39747169
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МифодяuaggsterКстати, забыл еще пункт:
24. Если базы лежат не на отдельной полке, а на томах, подключенных к рэйд контроллеру сервера - проверьте, есть ли на контроллере сервера батарейка и включен ли режим кэширования Write-back.
Для увеличения производительности крайне рекомендуется на контроллере с батарейкой отключить кэш дисков и включить режим кэширование данных контроллером Write-back .
Это можно сделать и без батарейки. Но тогда вжимайтесь в кресло и делайте почаще бэкап, особенно бэкап логов. :-)
Там же, в настройках контроллера, есть настройка режима упреждающего чтения read ahead.
Вот в отношении нее - ничего определенного сказать не могу. Если приложение дергает по одной записи из базы - то нужен режим "без упреждающего чтения". Если наоборот, речь идет о базе статистики, и приложение читает данные большими кусками - то "с упреждающим чтением".
Попробуйте и так и этак, и померьте производительность.

ПО поводу рейд контроллера и параметров, полностью с вами согласен, и ещё немного добавлю по поводу read ahead, где-то читал что есть ещё одно положение этого параметра, адаптивный вроде бы. Суть в том что контроллер сам определяет нужно ли упереждающее чтение или нет в зависимости от потока запросов, и может как включать его так и выключать.
На моих "адаптивного" нет :-(
А по поводу упреждающего чтения - на моей практике был случай, когда его выключение (выключение, ага) дало прирост производительности где-то процентов 10. И, как результат, набор отчетов, который генерился 10 часов, и, обычно не успевал к планерке - стал генериться меньше 9 часов, и к планерке начал успевать, чем подбросил пачку дрожжей в наше устоявшееся... эээ... отхожее место.
Но там 1С был, и всё сложно. :-)))
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39747213
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В моей практике были случаи, когда перемещение баз на SSD ухудшало производительность. Но с чем это связано, я не выяснял.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39747241
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterА вы знаете, что пропускная способность у SSD - никакущая. Тут чем больше спинделей тем лучше."Пропускная способность" -- это характеристика интерфейса, а не способа хранения.
Relic HunterТут чем больше спинделей тем лучше.Открою вам страшную тайну -- SSD можно более одного за раз использовать. И рейды из них собирать. И делать все то же самое, что и с обычными дисками, лишь бы контроллер умел.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39747401
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав КолосовВ моей практике были случаи, когда перемещение баз на SSD ухудшало производительность. Но с чем это связано, я не выяснял.
У SSD не всё в порядке с производительностью за пределами SLC-кэша.
OSZНекоторые SSD, особенно бюджетные модели на памяти TLC flash memory вроде OCZ Trion 100 используют SLC кеш для ускорения процесса записи. Этот метод позволяет использовать часть ёмкости как SLC (1bit-per-cell) NAND flash memory. При записи пишется только один бит вместо 3-х, тем самым значительно повышая скорость операции. Когда SLC кеш полностью заполнен, он будет перенесён на не занятый объём, освобождая пространство для дальнейшей работы этого метода ускорения производительности. При обычной нагрузке пользователь не замечает этот перенос. Но при повышенной нагрузке возможно временное снижение скорости накопителя, когда кеш уже полностью заполнен, но операции записи ещё не завершились. После переноса кеша в свободное пространтсво накопителя скорость восстановится.

Размер этого кэша довольно большой (десятки гигабайт + -), но всё вполне по меркам БД - исчерпаемый.
При этом про небольшое снижение производительности - они врут, там иногда в 10, а то и в 20 раз снижение.
Т.е. Если, например, льём bulk'ом десятки гигабайт (даже гигабайты) - то вполне себе можем за пределы slc-кэша вылететь, и получить 10 Мб/с (утрированно) на запись.
Кроме того есть такая гадость, как trim. Ячейки флэша перед записью нужно предварительно очистить. Поэтому если на диске интенсивно перезаписывается информация - вполне может вылезти ситуация, когда диск пустой, а писать - некуда, и диск должен начать сборку мусора.
Нормальные серверные SSD вполне это умеют в фоновом режиме, но даже у них это получается плохо, с падением производительности в разы, даже десятки раз.
Т.е., если мы имеем ситуацию, когда мы апдейтим (например) даже небольшое количество записей с очень высокой частотой - через какое то время получим периодические лаги.

Итого - SSD, конечно, киллер-фича, но... скажем так, при разумных условиях использования.
ИМХО так.
:-)
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39747649
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggsterКстати, не продемонстрируете ли свои ТОП(23) "что нужно сделать/проверить на тормозящем сервере в первую очередь", чтобы мы увидели, как это "не пальцем в небо"?Для начала нужно выяснить почему тормозит. Если все ресурсы (проц, диски, память) в норме, то почти наверняка это кривые/неоптимизированные запросы. Ну и как уже было 25 раз сказано нужно сначала выяснить у пользователей что именно тормозит, а то можно искать совсем не в том месте.
...
Рейтинг: 0 / 0
Производительность SQL сервера ВОПРОС!
    #39747713
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MinduaggsterКстати, не продемонстрируете ли свои ТОП(23) "что нужно сделать/проверить на тормозящем сервере в первую очередь", чтобы мы увидели, как это "не пальцем в небо"?Для начала нужно выяснить почему тормозит. Если все ресурсы (проц, диски, память) в норме, то почти наверняка это кривые/неоптимизированные запросы. Ну и как уже было 25 раз сказано нужно сначала выяснить у пользователей что именно тормозит, а то можно искать совсем не в том месте.
Вопросов больше не имею.
...
Рейтинг: 0 / 0
60 сообщений из 60, показаны все 3 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Производительность SQL сервера ВОПРОС!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]