К сожалению, СУБД зачастую используется с настройками по умолчанию, особенно часто это касается MS SQL Server. Сами по себе стандартные настройки неплохи, но обычно они не дают реализовать весь потенциал сервера, и система работает медленнее, чем могла бы.
Тонкий тюнинг – это хорошо, полезно, но долго. При этом есть базовые параметры, которые сильно влияют на производительность, но их настройка занимает минимум времени – и именно с этого следует начать.
Итак, серия видео, в которых мы рассмотрим основные настройки MS SQL.
Расскажем, какие именно параметры имеет смысл настроить в первую очередь, какие значения им проставить и как это повлияет на общую производительность.
Забирайте : )
Видео 1: Базовая настройка MS SQL Server
В этом видео разберем, что такое базовая настройка.
Видео 2: Установка параметра «Максимальный объем памяти» (Maximum Server Memory)
Ключевые моменты видео:
00:22 – Настройка параметра Maximum Server Memory
10:32 – Формула расчета параметра
Видео 3: Параметры параллельного выполнения запроса (Max degree of parallelism)
Ключевые моменты видео:
00:32 – Схема работы параметра
04:27 – Установка параметра
06:16 – Влияние настройки на выполнение запросов
Видео 4: Настройка мгновенной инициализации файлов
Ключевые моменты видео:
01:05 – Как проверить, что настройка включена, в версии MS SQL Server 2012 и более поздних версиях
01:40 – Как проверить, что настройка включена, в более ранних версиях
04:07 – Как данная настройка влияет на производительность
Видео 5: Настройка параметра «Авторасширение» (Autogrowth)
01:50 – Какой объем авторасширения указать, чтобы оно происходило не очень часто?
02:32 – Установка параметра в Microsoft SQL Server Management Studio
Видео 6: Настройка Shared Memory
Ключевые моменты видео:
01:30 – Взаимодействия сервера 1С и сервера СУБД
02:25 – Принцип работы протокола Shared Memory
03:46 – Как посмотреть, какой протокол используется для взаимодействия сервера 1С с СУБД
04:27 – Как включить протокол Shared Memory: cпособ №1 (явное указание протокола в свойствах базы)
08:00 – Как включить протокол Shared Memory: cпособ №2 (включение в самом диспетчере конфигурации MS SQL)
10:25 – Нюансы настройки Shared Memory
Видео 7: Настройка блокировки страниц в памяти (Lock pages in memory)
Ключевые моменты видео:
03:02 – Как включить настройку
Видео 8: Установка флагов запуска MS SQL Server
Ключевые моменты видео:
00:50 – Список флагов для включения
02:37 – Как установить флаги?
Умение находить и устранять причины медленной и нестабильной работы систем на 1С - обязательно для программистов 1С
После курса Вы сможете:
- Оценивать состояние системы в любой момент времени
- Быстро находить причины замедления в программном коде – и сразу писать его так, чтобы замедления в будущем не было
- Отслеживать динамику производительности за определенный период
- Устранять ожидания на блокировках и решать проблемы со взаимоблокировками
Для кого этот курс
Вам нужен этот курс, если Вы хотите:- Писать код, за который не стыдно – в нестабильное время особенно важно быть в компании на хорошем счету
- Быть востребованным специалистом – на каждом втором собеседовании спрашивают про умение оптимизировать 1С
- Не терять клиентов из-за того, что «ваша 1С тормозит, а вы ничего не делаете» – это и раньше было нехорошо, а теперь и вовсе непозволительная роскошь.
- 16 учебных часов видео
- 50 практических заданий
- 3 месяца поддержки и доступа к ответам на вопросы
- Пожизненный доступ к видео-урокам и учебным материалам
Что-то плохо читали по официальной рекомендации по max degree of parallelism. Вот выдержка из руководства:
Для того, чтобы это стало возможным, рекомендованное значение параметра max degree of parallelism – 1 – должно быть изменено. Рекомендация по определению его значения для многопроцессорной системы обычно звучит как «общее количество ядер процессора / 2». Значение 0 предоставляет СУБД возможность самостоятельного определения максимально возможного количества потоков исходя из доступности ресурсов, и применимо к выполнению реструктуризации мы рекомендуем использовать именно его.
Статьи от 1С это далеко не истина в последней инстанции, в особенности что касается работы СУБД.
Ранее та же 1С рекомендовала вообще MAXDOP ставить равным 1.
Если уж и говорить про официальные рекомендации, тогда лучше обращаться к первоисточнику, например к новой статье от MS которая появилась относительно недавно.
В наших видео помимо MAXDOP говориться еще о стоимостном пороге параллелизма, его нужно поднять до 30 или 50.
Тогда для простых запросов вообще не будет выбираться параллельный план.
РП хосты нагружены. Процессы нагружаются до 4-5 гб. Скуль не хочет
VMware*
На виртуальной машине (VM Vare) MS SQL не потребляет оперативку.
Сделал рекомендации по блокировке страниц в памяти. Перезапустил службу. Нагружаю базу запросами. SQL не берет больше 700 мб оперативы
А у вас ограничений по памяти в самом MS SQL не установлено?
И еще вопрос, как именно нагружаете? Для серьезного теста нужно чтобы с диска запросом читались гигабайты
Minimum server memory 8000 mb
Maximum 32000.
По нагрузке: просто аналитические отчеты на регистре бухгалтерии за период с 1980 года с разворотом по 3 элементам аналитики (БП 3.0).
При параллельной работе 15 – 25 пользователей 2-4 базы от 7 до 20 гб тоже не поднимается потребление выше 700 мб
Я не про то сколько пользователей работает параллельно, я про то сколько данных читается с диска при выполнении отчетов.
Если 25 пользователей читают одни и те же данные и они помещаются в кеше, то первый их прочитает с диска и поместит в кеш, остальные будут читать из оперативной памяти одни и те же данные.
Сделайте отчет который читает гигабайты данных.