Какой SQL Server лучше для сервера 1С

Администрирование - Системное

PostgreSQL MSSQL

14
Нагрузочное тестирование TPC 1C Гилева, различных версий MSSQL и Windows server.

Предисловие.

В интернете задают вопросы, как настроить SQL сервер для 1С, какой из серверов баз данных лучше, производительней для 1С и тд. Простого ответа на вопрос нет, как и тестов, которые бы могли как-то показать различия. Не спорю, на производительность "много чего" влияет, и в эти тонкости мы не лезем в тестах. Наша задача на одном и том же аппаратном обеспечении, произвести тестирование одного и того же теста при абсолютно одинаковых параметрах, различаются только версии ОС и MSSQL. Базовые настройки MSSQL производились в точности по рекомендациям разработчиков 1С.

В тестах принимали участия (все обновления на момент тестирования):

MSSQL 2008 R2 SP3 Windows Server 2008 R2
MSSQL 2012 SP4 Windows Server 2012 R2
MSSQL 2014 SP2 Windows Server 2016
MSSQL 2016 SP2 PostgreSQL 9.6.10

Были исключены: Windows Server 2003 R2 и MSSQL 2005.

Железо

Тестирование производилось в виртуальной среде VMware на следующей конфигурации:

  • CPU:  Intel Core i7-3520M
  • RAM: 16Gb DDR3L 1600 MHz
  • SSD: Intel 540 240 Gb

Методика тестирования:

На каждую из хостовых ОС, устанавливались разные версии MSSQL, из таблицы выше.

В каждом режиме совместимости, производилось 2 теста без перезагрузки, затем менялся режим совместимости, перезагружался MSSQL и производилось новое тестирование.

Дополнительно были произведены тесты c использованием протокола Shared memory, а также один тест PostgreSQL 9.6.10 (postgrespro.ru) на CentOS 7. (для сравнения)

Результаты и субъективное мнение

С полными результатами можно ознакомиться в прилагаемом файле.

Поделюсь лишь своим субьективным мнением. Выводы каждый сделает сам.

  • Лучше всех, во всех тестах себя показал MSSQL 2008 R2 и MSSQL 2012.
  • Хуже всех, во всех тестах  себя показал MSSQL 2014! Часто возникали ошибки при тестировании.
  • Странное поведение MSSQL 2016 с протоколом Shared Memory - прироста практически нет, тест проводили несколько раз, отключали все проколы, проверяли..
  • Очень удивила производительность PostgreSQL - ни чем не уступает MSSQL.

Конечно, многие скажут, что производительность PostgreSQL можно улучшить, оптимизировать, и тд, как и в MSSQL, но это уже совсем другие задачи, мы просто прогнали тесты в дефолтном режиме (рекомендованные или обязательные настройки были внесены), без фанатизма и глубокой оптимизации, поскольку большинство начинает оптимизировать работу связки при возникновении проблем с производительностью последних, а не заранее.

Замечания, относительно используемого железа, использовали то, что было свободно, поскольку каждый тест занимает 15-20 минут, суммарно более 120 тестов и 40 часов (1 неделя). Кроме того, оценивалось не "железо", а разница, на одном и том же "железе" или "аппаратном обеспечении", кому как нравиться.

Послесловие

Если данные тесты, окажутся кому-то интересны, и пост наберет немного оценок, можно продолжить тестирование различных сборок PostgreSQL, скажем на FreeBSD/Debian/CentOS/.., ставьте оценки и пишите свои замечания.

Полезные ссылки:

14

Скачать файлы

Наименование Файл Версия Размер
Результаты тестирования
.xlsx 60,87Kb
03.11.18
7
.xlsx 60,87Kb 7 Скачать

См. также

Комментарии
Избранное Подписка Сортировка: Древо
1. pophmail 105 04.11.18 10:21 Сейчас в теме
Недавно занимался установкой и так же выбрал MSSQL 2012 причём в hyper-v под win2008r2. Основная ОС win2016. Результат теста около 30 'попугаев' и 50 пользователей (предполагается одновременная работа до 35).
Железо:
- CPU - один Хеоn E5-2620 V4 2.1GHz
- RAM - выделено для 2008r2 48Gb
- Raid1 из двух SSD, контроллер Adaptec8405e.
demon_sl; +1 Ответить
6. demon_sl 14 06.11.18 00:41 Сейчас в теме
(1)
Хеоn E5-2620 V4 2.1GHz
- RAM - выделено для 2008r2 48Gb
- Raid1 из двух SSD, контроллер Adaptec8

У нас то же похожая конфигурация, на E5-2630v3/64Gb 7805Q 4HDD RAID10 + cache
Но вот что замечено, SSD имеет смысл только если не хватает ОЗУ, так как MSSQL все базы в пямяти пытается держать, а когда ОЗУ не хватает - сбрасывает на диск, а вот 1C сервер - пишет журнал, много и упорно, и если он не нужен, лучше его отключить.
2. saa@kuzov.org 04.11.18 10:30 Сейчас в теме
Либо я не разобрался в вашей таблице, либо где-то путаница.
Меня интересует MS SQL 2016 SP2 на Windows 2016 Server.

На первом листе Общая оценка 13,535
На листе 2016, режим совместимости 130 - средняя оценка 12,075

Собственно, в чем разница между этими двумя оценками?
7. demon_sl 14 06.11.18 00:44 Сейчас в теме
(2)
ашей таблице, либо где-то путаница.
Меня интересует MS SQL 2016 SP2 на Windows 2016 Server.

На первом листе Общая оценка 13,535
На листе 2016, режим совместимости 130 - средняя оценка 12,075

Собственно, в чем разница между этими двумя

На первом листе, чуть ниже написано: Тесты по протоколу Shared Memory (общая память) и без режимов совместимости.
10. saa@kuzov.org 06.11.18 01:47 Сейчас в теме
(7) Что значит без режимов совместимости? Для 2016 версии режим совместимости 130 и есть "без режима совместимости".

Покажите как вы в 2016 выставите "без режимов совместимости", я бы посмотрел.

Если на первом листе Shared Memory, то какой протокол на листе 2016??
18. demon_sl 14 06.11.18 16:15 Сейчас в теме
(10)
Покажите как вы в 2016 выставите "без режимов совместимости", я бы посмотрел.

Если на первом листе Shared Memory, то какой протокол на листе 2016??

Да, все правильно поняли, для 2016 - 130 и т.д., Shared Memory - только первый лист, остальные по TCP/IP
3. capitan 675 04.11.18 17:03 Сейчас в теме
8. demon_sl 14 06.11.18 00:50 Сейчас в теме
(3)
На прошлой работе, стояли промышленные сервера IBM 2012 года выпуска с 2Gb ОЗУ и с MSSQL 2005 на борту для обслуживания Simatic Step7. Что до тестовой конфигурации - загрузка ОЗУ, во время тестов, не превышала половины. См. коментарий выше, продакшен на другом железе!
11. capitan 675 06.11.18 08:58 Сейчас в теме
(8)Вы скорее меряете какой сервер сможет работать при таком количестве памяти, чем реальную производительность.
На таком железе
4. aximo 671 05.11.18 13:56 Сейчас в теме
2008r2 вполне годен по опыту эксплуатации
demon_sl; +1 Ответить
5. dmurk 90 05.11.18 17:44 Сейчас в теме
TPC-A снят с промышленной эксплуатации в 1996-м году
9. demon_sl 14 06.11.18 00:52 Сейчас в теме
ПС: нет возможности выложить файл бесплатно, поэтому можно смотреть скриншоты, там все то же самое. Или пишите вопросы.
12. capitan 675 06.11.18 09:01 Сейчас в теме
ИМХО нет смысла гнаться за новыми редакциями ни серверов, ни 1С
Что касается вообще теста SQL серверов - тестировать их TPC-A это как автомобили тестировать скидыванием с горки, все одинаково доедут.
Если только не на ручнике )
Сила SQL сервера - в его способности обрабатывать блокировки
13. h00k 36 06.11.18 09:44 Сейчас в теме
(12)
ИМХО нет смысла гнаться за новыми редакциями ни серверов, ни 1С


2012 - в принципе норм, начиная с SP2
2014 - можно использовать только с 1118 и 4199
2016 - самая гибкая возможность настройки на текущий момент, одна только возможность задать DoP и MaxDoP для конкретной базы чего стоит.
demon_sl; +1 Ответить
19. demon_sl 14 06.11.18 16:23 Сейчас в теме
(13)
1118 и 4199

MSSQL 2014 именно с этими флагами и тестировался, 1118 для всех кроме MSSQL 2008 и 2016.
Тест, почему-то в MSSQL 2016 с использованием Shared Memory не сильно прибавил баллов, тестировал несколько раз, но так и не понял почему (
14. alex_sh2008 5 06.11.18 10:06 Сейчас в теме
(12)
ИМХО нет смысла гнаться за новыми редакциями ни серверов, ни 1С

Если вы меняете оборудование на более новое, то старые версии уже будут хуже поддерживать его. SQL 2008 плохо работает на Windows 2016, А Windows 2008 плохо поддерживает новое железо. Все взаимосвязано.
demon_sl; +1 Ответить
20. capitan 675 06.11.18 17:04 Сейчас в теме
(14)только в случае неограниченного бюджета. Тогда бы я вообще прикупил необитаемый остров и там все налаживал )
(15)не все можно улучшить правильными настройками, но все можно ухудшить неправильными. Я думаю на 4 ГБ вы сервер в продакт не заведете, поэтому и тестирование получается сферического коня в вакууме
(16)см. выше это просто некие магические цифры которые можно директорам показать не более того.
Я знаю сервера с баллом 10 нормально тянущие полсотни юзеров и с баллом 50 на которых двое не уживаются.
Да на 4Гб вообще бухгалтерия даже устанет запускаться просто
demon_sl; +1 Ответить
36. demon_sl 14 07.11.18 23:08 Сейчас в теме
(20)
выше это просто некие магические цифры которые можно директорам показать не более того
полностью с Вами согласен, но тесты не на сервере делались, а на том, что было свободно, в продакшене у меня совсем другая конфигурация, к тому же для одной такой бызы для тестирования озу предостаточно, а цифры это результаты теста Гилева, другого у меня не было на тот момент. Целью измерения была разница а не лучшая конфигурация или сервер!
17. demon_sl 14 06.11.18 16:10 Сейчас в теме
(12)
только не на ручнике )
Сила SQL сервера - в его способности

Если есть другой тест, поделитесь, дабы не быть голословным, буду благодарен, но что имеем, а на счет гонки, то же не согласен, у меня с десяток типовых конфигураций требуют именно последнюю платформу 1С, и есть базы от поставщиков, которые только на 2012 и выше работают, хочешь, не хочешь - приходиться.
21. capitan 675 06.11.18 17:09 Сейчас в теме
(17)
другой тест
есть - не буду пиарить себя) тем более он не мой, но сервера он вам померяет корректно
а из 1С - здесь на инфостарте отличный тест от Fragster - многопоточный, он похож на правду
а если эталон - это стандартный нагрузочный тест из КИП
(17)
на 2012 и выше
это уже не гонка, на дворе 2019 ;)
Но и 2019 например ставить нет смысла
А линуксы например чем древнее - тем стабильнее 1С на нем живет. железо то не сильно меняется
31. demon_sl 14 07.11.18 22:53 Сейчас в теме
(21)
не гонка, на дворе 2019 ;)
Но и 2019 например ставить н
Спасибо за ценный комент, в следующий раз учту.
38. demon_sl 14 07.11.18 23:26 Сейчас в теме
(21)
С на нем живет. железо то не сильно меняется
с *nix так сложилось, что все новое не всегда стабильно, но есть продукты которые требуют sql не ниже такой версии и тд. сам начинал с freebsd5
15. fishca 1126 06.11.18 13:58 Сейчас в теме
Лучший тот, который правильно настроен.
demon_sl; +1 Ответить
16. fishca 1126 06.11.18 14:00 Сейчас в теме
Судя по баллам (11-12) лучше такие сервера не использовать для 1С.
27. Darklight 15 07.11.18 14:42 Сейчас в теме
(16)Да там тестировали на рабочей станции - лажа и не тесты...
30. demon_sl 14 07.11.18 22:52 Сейчас в теме
22. starik-2005 1429 06.11.18 18:07 Сейчас в теме
А что так мало-то? Режим энергопитания стоит как "сбалансированный"?
23. h00k 36 07.11.18 09:38 Сейчас в теме
(22)
А что так мало-то?

Я думаю в результатах целый комплекс "косяков" отражен. И процессоры энергию "экономят", и конкуренция за оперативку между ОС, MS SQL, 1С, и какие-то проблемы с дисковой.
32. demon_sl 14 07.11.18 22:54 Сейчас в теме
(23)
жду ОС, MS SQL, 1С, и какие-то проблемы с дисковой.
универсального лекарства нет и не будет
29. demon_sl 14 07.11.18 22:52 Сейчас в теме
(22) высокая производительность (все по рекомендациям с официально сайта 1С)
24. user1084121 07.11.18 10:40 Сейчас в теме
25. kolya_tlt 11 07.11.18 12:06 Сейчас в теме
по таблице не понятно PostgreSQL был на винде или на линунсе? и почему только 9.6.10? есть версии по свежее
33. demon_sl 14 07.11.18 22:56 Сейчас в теме
(25)
онятно PostgreSQL был на винде или на линунсе? и почему только 9.6.10? есть версии по свежее
в файле есть даные, на woindows то же пробовал, результаты хуже, PostgreSQL на сегодня лучше только на Linux, в windows на много меньше баллов.
26. Darklight 15 07.11.18 14:41 Сейчас в теме
Жаль в тестах использовано не серверное железо - поэтому полезность тестов сомнительна (данные ОС могут совсем по другому раскрываться на серверном оборудовании с большим числом ядер и бОльшим объёмом памяти). А тут, чего сравнивать с уровнем производительности моего уже далеко ненового ноутбука!

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

Не приведено никакой информации о настройках - систем - а это очень важно, особенно при установке двух серверов (sql и 1C) на одном компьютере - нужно "грамотно" балансировать разделение ресурсов между ними; да и чтобы просто понять - не ошиблись ли вы где ненароком ;-)

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

Да и современному бизнесу могут быть более интересны тесты в вирутализированной серверной среде, и правильная настройка разграничения смежных ресурсов.
34. demon_sl 14 07.11.18 22:58 Сейчас в теме
(26)
использовано не серверное железо - поэтому полезность тестов сомнительна (данные ОС могут совсем по другому раскрываться на серверном оборудовании с большим числом ядер и бОльшим объёмом памяти). А тут, чего сравнивать с уровнем производительности моего уже далеко ненового ноутбука!

Про уже израсходованный ресурс применённого SSD тоже ни слова - а это очень важный показатель, напрямую влияющий на его производительность.
первые два азбзаца игнорирую так как бесполезные а за остальное спасибо.
28. YPermitin 683 07.11.18 15:57 Сейчас в теме
Тест очень неоднозначный, потому как и железо выбрано не очень хорошее, да и не все нюансы настроек учтены.
Не в обиду автору, но использовать результаты тестирования для выбора редакции SQL Server или вообще СУБД я бы точно не стал.
35. demon_sl 14 07.11.18 23:02 Сейчас в теме
(28)
начный, потому как и железо выбрано не очень хорошее, да и не все нюансы настроек учтены.
Не в обиду автору, но ис
Все нормуль. Спасибо за комент, все настрокий см на официальном сайте 1с, больше ничего не настраивалось специально. Ни кто и не говоил что это серверное железо, с чего такой хайп? Не Вам конкретно но всем остальным, чем конкретно серверное железо отличается от не серверного, как это влияет на производительноть? Не для нубов! что ядер больше и RAID аппартный а с аналогичной производительносью серверного железа в чем разница для прикладного ПО ?
39. alex_sh2008 5 08.11.18 10:38 Сейчас в теме
(35)
Спасибо за комент, все настрокий см на официальном сайте 1с, больше ничего не настраивалось специально.

Для разных версий SQL серверов и Windows, разные минимальные требования вы учитывали требования в своем тесте?
Не Вам конкретно но всем остальным, чем конкретно серверное железо отличается от не серверного, как это влияет на производительноть?

Серверное от других типов железа отличается многим, начиная от комплектующих, заканчивая ПО.
37. demon_sl 14 07.11.18 23:14 Сейчас в теме
Попинать конечно меня нужно и можно, хотелось бы более конструктивных, полезных, то есть профессиональные (от профессионалов) замечаний, а не уг, вот не такое железо не такой тест, или сделаю я так как хотят пользователи или делайте сами, что бы в следующий раз, был тест интересней, спасибо за ценные коментарии capitan и h00k.
Оставьте свое сообщение