Сравнительное тестирование скорости работы баз данных 1C:Предприятие в режиме файловой версии, MS SQL и POSTGRES на HDD, SSD и виртуального диска из оперативной памяти (RAMDisk) | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 11 мая, печатный экземпляр отправим 15 мая.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №48 (443) декабрь 2022 г.

Дата публикации: 01.12.2022

Статья просмотрена: 404 раза

Библиографическое описание:

Щепаняк, В. И. Сравнительное тестирование скорости работы баз данных 1C:Предприятие в режиме файловой версии, MS SQL и POSTGRES на HDD, SSD и виртуального диска из оперативной памяти (RAMDisk) / В. И. Щепаняк. — Текст : непосредственный // Молодой ученый. — 2022. — № 48 (443). — С. 15-20. — URL: https://moluch.ru/archive/443/97064/ (дата обращения: 03.05.2024).



В статье рассматривается эффективность различных СУБД для программного обеспечения 1С:Предприятие при использовании различных типов накопителей — SSD SATA, SSD NVMe, HDD и RamDISK. В связи с большим количеством типов накопителей часто возникает необходимость выбора наиболее оптимального типа накопителей Аналогичный вопрос возникает по поводу выбора системы управления базы данных, особенно если учитывать тот факт, что выбор способа СУБД не только влияет на скорость обработки и вывода информации, но также и напрямую сказывается на конечной стоимости проекта. Данная статья позволит выяснить и подобрать для себя наиболее оптимальный вариант.

Ключевые слова: СУБД, системное администрирование, 1С:Предприятие, MS SQL, Postgres SQL.

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

Сравнение скорости чтения и записи различных типов накопителей

Рис. 1. Сравнение скорости чтения и записи различных типов накопителей

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

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

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

Таблица 1

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С:Предприятия — файловый (меньше — лучше, время в мин:сек):

Сравнение скорости формирования ведомости на различных типах накопителей

Рис. 2. Сравнение скорости формирования ведомости на различных типах накопителей

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

Сравнение скорости перепроведения документов на различных типах накопителей

Рис. 3. Сравнение скорости перепроведения документов на различных типах накопителей

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

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

Сравнение скорости формирования ведомости на различных типах накопителей с использованием СУБД MS SQL

Рис. 4. Сравнение скорости формирования ведомости на различных типах накопителей с использованием СУБД MS SQL

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

Сравнение скорости перепроведения документов на различных типах накопителей с использованием СУБД MS SQL

Рис. 5. Сравнение скорости перепроведения документов на различных типах накопителей с использованием СУБД MS SQL

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

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

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

Сравнение скорости формирование ведомости на различных типах накопителей с использованием СУБД Postgres

Рис. 6. Сравнение скорости формирование ведомости на различных типах накопителей с использованием СУБД Postgres

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

Сравнение скорости перепроведения документов на различных типах накопителей с использованием СУБД Postgres

Рис. 7. Сравнение скорости перепроведения документов на различных типах накопителей с использованием СУБД Postgres

Последний тест отлично показывает отсутствие целесообразности использования RAMDisk для размещения СУБД. Так как этот диск виртуальный и он создаётся посредством программного обеспечения, то наблюдается аналогия с программными и аппаратными RAID массивами: программные массивы обслуживаются вычислительными мощностями ЦП, стабильность и скорость работы целиком зависит от грамотности и правильности кода соответствующего программного обеспечения для создания диска из ОЗУ, аналогичная ситуация справедлива и для физических дисков: когда для создания RAID массивов применяется аппаратные средства, снимается с ЦП задачи по обслуживанию RAID, что положительно сказывается на общей производительности массива и отпадает зависимость от качества работы программного обеспечения сторонних разработчиков. В случае создания виртуального диска из оперативной памяти используется программное обеспечение, что накладывает определенные ограничение на работу данного диска, что и подтверждает тестирование — чёткой стабильности в производительности нет в отличие от физических накопителей. Но, как бы то ни было, последний тест в очередной раз подтверждает преимущество PCI-E 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.

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

Таблица 2

Тип работы

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

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

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

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

RAMDisk

0:35

12:55

9

NVMe SSD

0:39

10:52

10

SATA SSD

0:48

11:50

11

HDD

6:21

12:53

12

Литература:

  1. https://habr.com/ru/post/694554/
Основные термины (генерируются автоматически): SQL, SSD, POSTGRES, SATA, HDD, PCI-E, различный тип накопителей, жесткий диск, использование СУБД, оперативная память.


Похожие статьи

Особенности применения баз данных и систем управления...

Ключевые слова: базы данных, SQL, СУБД, прикладная программа, данные

правилами и поддерживаемая в памяти компьютера совокупность данных, которая

Современные системы управления БД, такие как, например, Oracle, MySQL, Microsoft SQL Server, PostgreSQL

Область применения БД и СУБД для решения различных экономических задач очень обширна.

BigData: анализ больших данных сегодня | Статья в журнале...

SQL — язык структурированных запросов, позволяющий работать с базами данных. С помощью SQL можно создавать и модифицировать данные, а управлением массива данных занимается соответствующая система управления базами данных.

Обзор и сравнительный анализ промышленных хранилищ данных...

Основные функции БД, это возможность оперативно сохранить новые данные, быстро найти

Методы выполнения запросов к хранилищу данных в Hadoop... ADO, SQL, источник данных

таблица, база данных, соединение, оперативная память, реляционная база данных.

Рис. 1. Популарность баз данных. Использование современных СУБД в информационных системах...

Технологии обработки больших данных | Статья в журнале...

И они, вероятно, не будут помещаться на жесткий диск обычного компьютера.

То, что занимало весь диск компьютера 10 лет назад легко помещается на флэшку сейчас.

Google или Yandex собирают до 1500 различных данных о пользователе, о его языке, расположении

SQL — язык структурированных запросов, позволяющий работать с базами данных.

Методы выполнения запросов к хранилищу данных в Hadoop...

Hadoop обрабатывает данные в циклах Map и Reduce, каждый раз читая и записывая данные на диск.

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

Программа на scala с использованием SQL. Spark позволяет использовать язык SQL, чтобы

СУБД Microsoft Аccess относится к СУБД реляционного типа, работающая в среде Windows.

Выбор SQL Server для медицинского учреждения

На сегодня известно большое число различных серверов баз данных SQL.

Oracle Database — это одна из распространенных СУБД, являющихся конкурентами MS SQL.

В СУБД ORACLE существует два типа привилегий: системные и объектные.

источник данных, баз данных, данные, таблица, база данных, соединение, оперативная память, реляционная база данных.

Анализ СУБД и перспективных языков программирования для...

Как MySQL так и PostgreSQLСУБД с открытым исходным кодом.

Помимо этого, при использовании отечественной СУБД Postgres Pro, можно получить полную поддержку компетентных

Анализируется частота запросов типа «обучение языку программирования».

В ходе исследования, на основе анализа различных СУБД и языков программирования, была...

Разработка приложения средствами RAD Studio и СУБД PostgreSQL

Такими средствами были выбраны среда разработки кроссплатформенных приложений RAD Studio 10.3 и СУБД PostgreSQL.

PostgreSQL является мощной системой объектно-реляционных баз данных с открытым исходным кодом [2]. Она использует и расширяет...

Разработка базы данных для информационно-справочной...

Основными функциями информационно-справочной системы является организация сбора, хранения и выборки информации, содержащаяся в базе данных ИСС. Для поддержки этих функций требуется механизм, который называется системой управлениябазами данных(СУБД).

Похожие статьи

Особенности применения баз данных и систем управления...

Ключевые слова: базы данных, SQL, СУБД, прикладная программа, данные

правилами и поддерживаемая в памяти компьютера совокупность данных, которая

Современные системы управления БД, такие как, например, Oracle, MySQL, Microsoft SQL Server, PostgreSQL

Область применения БД и СУБД для решения различных экономических задач очень обширна.

BigData: анализ больших данных сегодня | Статья в журнале...

SQL — язык структурированных запросов, позволяющий работать с базами данных. С помощью SQL можно создавать и модифицировать данные, а управлением массива данных занимается соответствующая система управления базами данных.

Обзор и сравнительный анализ промышленных хранилищ данных...

Основные функции БД, это возможность оперативно сохранить новые данные, быстро найти

Методы выполнения запросов к хранилищу данных в Hadoop... ADO, SQL, источник данных

таблица, база данных, соединение, оперативная память, реляционная база данных.

Рис. 1. Популарность баз данных. Использование современных СУБД в информационных системах...

Технологии обработки больших данных | Статья в журнале...

И они, вероятно, не будут помещаться на жесткий диск обычного компьютера.

То, что занимало весь диск компьютера 10 лет назад легко помещается на флэшку сейчас.

Google или Yandex собирают до 1500 различных данных о пользователе, о его языке, расположении

SQL — язык структурированных запросов, позволяющий работать с базами данных.

Методы выполнения запросов к хранилищу данных в Hadoop...

Hadoop обрабатывает данные в циклах Map и Reduce, каждый раз читая и записывая данные на диск.

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

Программа на scala с использованием SQL. Spark позволяет использовать язык SQL, чтобы

СУБД Microsoft Аccess относится к СУБД реляционного типа, работающая в среде Windows.

Выбор SQL Server для медицинского учреждения

На сегодня известно большое число различных серверов баз данных SQL.

Oracle Database — это одна из распространенных СУБД, являющихся конкурентами MS SQL.

В СУБД ORACLE существует два типа привилегий: системные и объектные.

источник данных, баз данных, данные, таблица, база данных, соединение, оперативная память, реляционная база данных.

Анализ СУБД и перспективных языков программирования для...

Как MySQL так и PostgreSQLСУБД с открытым исходным кодом.

Помимо этого, при использовании отечественной СУБД Postgres Pro, можно получить полную поддержку компетентных

Анализируется частота запросов типа «обучение языку программирования».

В ходе исследования, на основе анализа различных СУБД и языков программирования, была...

Разработка приложения средствами RAD Studio и СУБД PostgreSQL

Такими средствами были выбраны среда разработки кроссплатформенных приложений RAD Studio 10.3 и СУБД PostgreSQL.

PostgreSQL является мощной системой объектно-реляционных баз данных с открытым исходным кодом [2]. Она использует и расширяет...

Разработка базы данных для информационно-справочной...

Основными функциями информационно-справочной системы является организация сбора, хранения и выборки информации, содержащаяся в базе данных ИСС. Для поддержки этих функций требуется механизм, который называется системой управлениябазами данных(СУБД).

Задать вопрос