Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Оптимизация SQL SERVER 2017 и 1c 8.3.11.3034  [new]
Мифодя
Member

Откуда:
Сообщений: 7
Здравствуйте, я начинающий системный администратор и пытаюсь выжать с имеющегося железа максимум пользы.
Итак, что мы имеем в качестве сервера:
1) серверная платформа Supermicro SYS-1028R-WC1R
2) Два CPU к ней Intel Xeon CPU E5-2609 v3 @ 1.90GHz
Знаю, процессоры не ахти какие, но как говориться ....чем богаты :)
3) 16 модулей по 8gb, итого 128gb оперативной памяти.
4) 8 HDD 15к по 300gb, сделаны два рейда:
- RAID 1 из двух дисков под OS Windows Server 2016,
- RAID 10 из шести дисков под "холодные" данные и бекапы
5) новенький NVMe диск INTEL SSD DC P4610 на 1.6 gb под базы данных

Производительность оцениваю тестом Gileva последней версии, на данный момент удалось выжать следующие показатели:
https://yadi.sk/i/lCGBNQsrF2gMqg
https://yadi.sk/i/yewkP-dZ4bSDQw

Опишу что было мною уже сделано:
1) Выставил в BIOSе материнской платы максимальную производительность для CPU, выставив энергоэффективность на high performance, то же самое и в операционной системе.
Это дало вроде как самый существенный прирост
2) Диск NVMe был отформатирован размером кластера в 64к
3) Сам SQL Server был полностью установлен на NWMe диск, базы от 1с так же находятся там
4) tempdb уже по умолчанию был разбит на 8 частей, увеличил начальный размер файла до 2048 мегабайт, шаг роста установил в 1024, лимит выставил в 5000
5) Minimum server memory 51200 и maximum 102400 мегабайт
6) Включил возможность «Database instant file initialization» для пользователя, от которого запущена служба Microsoft SQL Server
7) Путём подбора и эксперементов, в дополнительных параметрах SQL сервера "Max Degree of Parallelism" я выставил 4, а "Cost Thereshold for Parallelism" на 8. Это дало прибавку где то на 1.5 попугая Gileva

Вроде бы и всё, огромная просьба к знающим, и не раз настраивающим подобные сервера, людям, поделитесь пожалуйста опытом в подобных вопросах, заранее благодарен.

К сообщению приложен файл. Размер - 14Kb
10 дек 18, 17:57    [21759408]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация SQL SERVER 2017 и 1c 8.3.11.3034  [new]
L_argo
Member

Откуда:
Сообщений: 1214
tempdb уже по умолчанию был разбит на 8 частей
Это ни к чему.
Желательно поместить tempdb на отдельный физ.диск. и желательно SSD.
10 дек 18, 18:10    [21759418]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация SQL SERVER 2017 и 1c 8.3.11.3034  [new]
Мифодя
Member

Откуда:
Сообщений: 7
L_argo
tempdb уже по умолчанию был разбит на 8 частей
Это ни к чему.
Желательно поместить tempdb на отдельный физ.диск. и желательно SSD.

Он находиться на NWMe диске, думаю производительности должно хватить :)

К сообщению приложен файл. Размер - 99Kb
10 дек 18, 18:18    [21759429]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация SQL SERVER 2017 и 1c 8.3.11.3034  [new]
vikkiv
Member

Откуда: London
Сообщений: 2704
Мифодя,

NVMe конечно мощно и современно (по ср. с SATA3)
но общий тест системы не настолько полезен как кажется
правильный путь - поиск узких мест и работа именно с ними
и потом уже изходя из этого определяются методы и средства.

так что запускай или PerfMon / Resource Monitor или TaskManager или на самой базе смотри где тормозит и чего не хватает (память/диск/процессор/сеть и т.д.)
даже распределение к пределу по остальным (медленным) дискам стоит глянуть
10 дек 18, 18:30    [21759436]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация SQL SERVER 2017 и 1c 8.3.11.3034  [new]
Мифодя
Member

Откуда:
Сообщений: 7
vikkiv, Завтра попробую прикрутить OS и SQL к Zabbix. Просто думал что есть ещё какие-либо "рекомендации" для настройки SQL под 1с
10 дек 18, 18:33    [21759444]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация SQL SERVER 2017 и 1c 8.3.11.3034  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31356
Мифодя
L_argo
Желательно поместить tempdb на отдельный физ.диск. и желательно SSD.

Он находиться на NWMe диске, думаю производительности должно хватить :)
ИМХО лучше не tempdb поместить на отдельный SSD, а лог-файлы (включая логи tempdb). Конечно, на максимально быстрый, не хуже того, на котором сейчас база.

У данных и логов разные типы нагрузки, к тому же производительность мелких транзакций кардинально зависит от латентности записи в лог-файл, так что желательно, что бы там не мешались очереди от посторонних операций.
А 1С - это же мелкие транзакции.
Так что рекомендую попробовать, если, конечно, у вас есть второй NVMe SSD :-)
L_argo
tempdb уже по умолчанию был разбит на 8 частей
Это ни к чему.
Ну, это стандартная рекомендация, сиквел даже с 2016 версии делает это сам, при установке. Точнее, предлагает настройки по умолчанию по алгоритму:
Ядер CPUКоличество файлов в tempdb
22
44
88
328

Так зачем корёжить дефаулт? Пусть будет.
10 дек 18, 18:49    [21759462]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация SQL SERVER 2017 и 1c 8.3.11.3034  [new]
Мифодя
Member

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

На счёт второго NVMe думаем :) благо слот есть под него, думаю будет ясно нужен он или нет когда пустим часть баз в продакшин на этом сервере и посмотрим очередь к диску.

Скажите, а если у меня суммарно 12 ядер, то быть может есть смысл (хоть и не большой) увеличить файлы tempdb до 12?
10 дек 18, 18:55    [21759469]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация SQL SERVER 2017 и 1c 8.3.11.3034  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31356
Мифодя
Скажите, а если у меня суммарно 12 ядер, то быть может есть смысл (хоть и не большой) увеличить файлы tempdb до 12?
МС рекомендует делать не более 8 файлов.
10 дек 18, 19:07    [21759476]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация SQL SERVER 2017 и 1c 8.3.11.3034  [new]
komrad
Member

Откуда:
Сообщений: 5244
alexeyvg
Мифодя
Скажите, а если у меня суммарно 12 ядер, то быть может есть смысл (хоть и не большой) увеличить файлы tempdb до 12?
МС рекомендует делать не более 8 файлов.

ремарка: при увеличении файлов более 8 серьезных преимуществ не наблюдалось, поэтому рекомендуют для начала по кол-ву CPU (но не больше 8) и потом мониторить производительность.

https://docs.microsoft.com/en-us/sql/relational-databases/databases/tempdb-database
10 дек 18, 20:19    [21759556]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация SQL SERVER 2017 и 1c 8.3.11.3034  [new]
tunknown
Member

Откуда:
Сообщений: 760
Мифодя
5) новенький NVMe диск INTEL SSD DC P4610 на 1.6 gb под базы данных
Держать на таком 64-Layer 3D TLC NAND данные? Что-то я не верю программистам прошивок.

Мифодя
RAID 10 из шести дисков под "холодные" данные и бекапы
Что за диски? SAS или SATA?
Если RAID аппаратный, да ещё с батарейкой, то могу предположить, что почти 6 потоков на чтение не будут в разы отличаться по реальной, а не заявленной скорости от сомнительного NVMe.
11 дек 18, 09:39    [21759834]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация SQL SERVER 2017 и 1c 8.3.11.3034  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33674
Блог
>>Сам SQL Server был полностью установлен на NWMe диск
Как упомянули выше, тип памяти TLC, а вы туда и ПО загнали?
В случае сбоя что будете делать? Просто поднять бэкап уже не поможет.

>>"Max Degree of Parallelism" я выставил 4
обычно рекомендуют 1 для OLTP нагрузки
11 дек 18, 10:45    [21759930]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация SQL SERVER 2017 и 1c 8.3.11.3034  [new]
Мифодя
Member

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

Рейд без батарейки, но аппаратный 8-канальный 12Gb/s SAS контроллер на чипсете LSI SAS 3108
Диски Seagate Savvio SAS 15к. на 300gb ST9300653SS.
Была хорошая возможность "пощупать технологию" по этому и приобрели NVMe диск, так сказать для пробы.
11 дек 18, 10:47    [21759933]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация SQL SERVER 2017 и 1c 8.3.11.3034  [new]
Мифодя
Member

Откуда:
Сообщений: 7
Критик
>>Сам SQL Server был полностью установлен на NWMe диск
Как упомянули выше, тип памяти TLC, а вы туда и ПО загнали?
В случае сбоя что будете делать? Просто поднять бэкап уже не поможет.

Тут я наверное соглашусь и переставлю сам софт SQL на основной диск, но только у меня вопрос, на сколько медленнее и при каких задачах он будет работать? или это повлияет только на старт служб при запуске операционной системы? при условии что служебные базы всё таки будут вынесены на NVMe диск
Критик
>>"Max Degree of Parallelism" я выставил 4
обычно рекомендуют 1 для OLTP нагрузки

Да, я не однократно читал про это, но "эксперименты" показали немного другое, выиграл на этой настройке где то 1,5 бала в тесте. Другой вопрос как это будет отображаться на реальных пользователях, тут я увы, пока не знаю
11 дек 18, 10:53    [21759946]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация SQL SERVER 2017 и 1c 8.3.11.3034  [new]
tunknown
Member

Откуда:
Сообщений: 760
Мифодя
Тут я наверное соглашусь и переставлю сам софт SQL на основной диск, но только у меня вопрос, на сколько медленнее и при каких задачах он будет работать? или это повлияет только на старт служб при запуске операционной системы? при условии что служебные базы всё таки будут вынесены на NVMe диск
NVMe хорош для снятия(не хранения) бекапа. Хотя, за ним тоже нельзя не следить.
11 дек 18, 11:06    [21759963]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация SQL SERVER 2017 и 1c 8.3.11.3034  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31356
Мифодя
Критик
>>Сам SQL Server был полностью установлен на NWMe диск
Как упомянули выше, тип памяти TLC, а вы туда и ПО загнали?
В случае сбоя что будете делать? Просто поднять бэкап уже не поможет.

Тут я наверное соглашусь и переставлю сам софт SQL на основной диск, но только у меня вопрос, на сколько медленнее и при каких задачах он будет работать? или это повлияет только на старт служб при запуске операционной системы? при условии что служебные базы всё таки будут вынесены на NVMe диск
Код считается один раз при старте сервера, и всё. Как, собственно, и код/данные ОС. Нагрузки на диск с ОС и программами быть не должно, разве что только в случае ошибки в распределении памяти (для повторной загрузки кода и для своппинга), но таких ошибок не надо допускать.
11 дек 18, 16:44    [21760575]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить