Тестирование скорости работы 1C в режиме файловой версии, MS SQL и POSTGRES на HDD, SSD и RAMDisk

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Мне всегда было интересно (и не только мне) есть ли смысл запуска 1С в диске из оперативной памяти, потому что если посмотреть на графики скорости чтения различных типов накопителей, то преимущества  очевидны:

Замеры скорости чтения CrystaMark дисков, участвовавших в тестировании
Замеры скорости чтения CrystaMark дисков, участвовавших в тестировании

Виртуальный диск из ОЗУ демонстрирует огромное преимущество над любым типом дисков, даже если бы мы использовали SSD с поддержкой NVMe PCI-E x4 мы бы не смогли получить особого преимущества перед диском из оперативной памяти, так как это позволило бы только увеличить скорость записи больших файлов с 3521 Мб/сек до 5000, что все равно далеко от скоростей RAMDisk, но никак не повлияло бы на скорости мелких файлов и секторов, а в нашем случае это имеет важное значение. Кажется, что тестирование проводить смысла нет – исходя из графика сразу понятно кто аутсайдер, и кто победитель: заранее скажу что в целом – да, но не везде и не всегда а жесткие диски списывать со счетов рано.

В связи с этим я решил сравнить скорость быстродействия 1C:Предприятие в различных способах управления информационной базой 1С: файловый вариант, MS SQL и POSTGRES. Тестирование проводилось поочередно на каждом из четырех накопителей. В качестве замера производительности применял два теста – перепроведение документов за одинаковый отрезок времени и формирование оборотной ведомости за 6 лет, различные синтетические тесты и «замеры производительности» не проводились ввиду того что они не всегда точно отображают реальную производительность.

В качестве тестового стенда применялся компьютер следующей конфигурации:

CPU

AMD Ryzen R9 3900X (12 ядер, 24 потока, 3800МГц)

RAM

32 Гб DDR4 Kingston FURY 2666МГц (4*8ГБ)

HDD

1ТБ Seagate 1000DM003

SSD SATA

500 Гб Samsung 870EVO

SSD NVMe x3

500 Гб Samsung 970EVO

OS

MS Windows Server 2019 Standard

1С:Предприятие

Бухгалтерия для гос. Учреждений ПРОФ

СУБД MS SQL

2019 STANDARD

СУБД POSTGRES SQL

14.4-1.1C

Тестирование начнём с самого простого способа управления информационной базой 1С:Предприятия – файловый (меньше – лучше, время в мин:сек):

То что жесткий диск оказался самым медленным способом обработки информации это ожидаемо, отставание SATA SSD от NVMe x3 составляет существенные 20%, а виртуальный диск из оперативной памяти хоть и самый быстрый, но разгромного преимущества перед  NVMe x3 нет: выигрыш в скорости примерно 10%, несмотря на огромную разницу в скорости чтения и записи, что касается скорости в перепроведении документов ситуация уже не такая однозначная (меньше – лучше, время в мин:сек):

А вот и первый сюрприз: если с физическими накопителями всё закономерно, то в этот раз RAMDisk оказался самым медленным – я повторил тестирование три раза но ничего не поменялось, возможно, проблема имеет общие корни с программными RAID массивами. Но при этом стоит обратить внимание, что здесь жесткий диск уже не кажется безнадежно устаревшим вариантом.

Теперь перейдём к тестированию варианта взаимодействия с информационной базой 1C:Предприятия через СУБД MS SQL 2019:

СУБД SQL от Microsoft показывает отличную оптимизацию обработки информации по сравнению с файловым вариантом, в целом можно сказать что все время формирования отчёта для SSD обоих типов и RAMDisk одинаково и лежит в пределах погрешности, но если жесткий диск справился почти в 5 раз быстрее (+500%), то для SSD прирост скорости составил 100% для NVMe x3 и 250% для SATA SSD. Прирост скорости для RAMDisk составил «скромные» 75%.

Здесь сохраняется логичное преимущество твердотельных накопителей над жестким диском, но диск из ОЗУ начинает демонстрировать недостатки программной эмуляции накопителя.

Чтобы получить результаты наиболее объективным, я решил проверить теорию влияния скорости на работу СУБД когда журналы пользователей и база данных хранятся на разных дисках, но это никак не повлияло на скорость формирования отчетов.

Теперь проверим быстродействие 1С:Предприятие  с POSTGRES:

POSTGRES SQL показывает отличную масштабируемость в зависимости от типа диска и, что необычно, формирование отчёта с СУБД POSTGRES при разворачивании базы на жёстком диске оказывается быстрее в 1,5 раза по сравнению с СУБД от Microsoft. Но если смотреть на график относительно твердотельных накопителей (SSD), то, конечно, Microsoft SQL предпочтительнее. В случае с RAMDisk разницы нет. 

Последний тест отлично показывает отсутствие целесообразности использования RAMDisk для размещения СУБД. Так как этот диск виртуальный и он создаётся посредством программного обеспечения, то наблюдается аналогия с программными и аппаратными RAID массивами: программные массивы обслуживаются вычислительными мощностями ЦП, стабильность и скорость работы целиком зависит от грамотности и правильности кода соответствующего программного обеспечения для создания диска из ОЗУ, аналогичная ситуация справедлива и для физических дисков: когда для создания RAID массивов применяется аппаратные средства, снимается с ЦП задачи по обслуживанию RAID, что положительно сказывается на общей производительности массива и отпадает зависимость  от качества работы программного обеспечения сторонних разработчиков. В случае создания виртуального диска из оперативной памяти используется программное обеспечение, что накладывает определенные ограничения на работу данного диска, что и подтверждает тестирование – чёткой стабильности в производительности нет в отличие от физических накопителей. Но, как бы то ни было, последний тест в очередной раз подтверждает преимущество NVMe SSD накопителя перед другими типами дисков.

Проведенное тестирование показало преимущество СУБД MS SQL над POSTGRES и общее преимущество обоих типов СУБД над классическим способом работы 1С:Предприятие – файловым. Смысла использования RAMDisk нет от слова совсем – да, прирост в скорости в файловом варианте составляет примерно 12% от самого быстрого диска, но экономической целесообразности нет  - в среднем 32 Гб ОЗУ DDR4 стоит 180$, а 500 Гб SSD NVMe x3 (в тестировании применялся SSD Samsung 500 Гб 970EVO) стоит 120$, разница в стоимости при пересчете Гб/$ составляет 5,6$ за гигабайт для ОЗУ и 0,24$ за гигабайт для SSD. Переплата в 23 раза (2300%) ради 12% производительности лишь в нескольких случаях смысла не имеет.

Отдельного внимания заслуживает СУБД POSTGRES SQL – в отличие от СУБД Microsoft она бесплатная но в среднем увеличивает скорость работы с 1С в два раза, на мой взгляд неплохое предложение для недорогого (не забываем что необходимо для любого варианта использования SQL требуется приобретение лицензии на сервер 1С) но эффективного ускорения работы 1С:Предприятие. Что касается СУБД Microsoft SQL Server – это самый быстрый и эффективный способ обработки информации в 1С:Предприятие, да, он не бесплатный но даёт прирост до 50% по сравнению с POSTGRES.

Что касается дисков, то, разумеется, SSD новейших форматов NVMe x3 (и x4) является наиболее предпочтительным вариантом - этот тип диска в связке с СУБД MS SQL даст наибольший прирост производительности, но если у вас стоит задача создать максимально производительный сервер 1С с минимальными затратами – можете  смело использовать связку POSTGRES и старый добрый HDD.

В заключение, предлагаю ознакомиться с краткой таблицей сравнительного тестирования:

Тип работы

Формирование оборотной ведомости

Перепроведение документов

Рейтинг производительности

MS SQL + NVMe SSD

0:18

2:40

1

MS SQL + SATA SSD

0:19

3:02

2

MS SQL + RAMDisk

0:20

3:29

3

POSTGRES + NVMe SSD

0:27

4:53

4

POSTGRES + SATA SSD

0:35

5:03

5

POSTGRES + RAMDisk

0:19

5:50

6

MS SQL + HDD

1:18

4:21

7

POSTGRES + HDD

0:52

5:20

8

NVMe SSD

0:39

10:52

9

RAMDisk

0:35

12:55

10

SATA SSD

0:48

11:50

11

HDD

6:21

12:53

12

Источник: https://habr.com/ru/post/694554/


Интересные статьи

Интересные статьи

Всем привет!В этой статье поделюсь своим опытом прохождения собеседований на позицию System analyst и как к ним подготовиться.Предыстория: на текущий момент самой подходящей для меня страной является ...
Концепция гибридного офиса широко и эмоционально обсуждается бизнесом уже несколько лет. Предполагается, что гибкий график позволяет офисным сотрудникам соблюдать баланс между работой и личной жизнью,...
Чтобы ваши коллеги могли эффективно работать удаленно, необходима возможность безопасно взаимодействовать в любом месте. На мероприятии «День виртуального обучения Microsoft 365: организация удаленной...
Несколько дней назад в базах результатов комплексного бенчмарка PassMark засветились показатели тестирования анонсированного в рамках CES 2021 семейства Rocket Lake-S в лице топового пред...
В свете того, что Zabbix с некоторых пор поддерживает TimescaleDB, а тут еще и вышел новый LTS релиз Zabbix, то наверняка многие заинтересовались, как осуществить миграцию с MySQL н...