Каталог решений - Скорость работы 1С: Предприятие с разными СУБД: MS SQL и с PostgreSQL

Скорость работы 1С: Предприятие с разными СУБД: MS SQL и с PostgreSQL

Скорость работы 1С: Предприятие с разными СУБД: MS SQL и с PostgreSQL

В наличии

Рассмотрим несколько вариантов работы 1С: Предприятие с различными СУБД.

Категория:

Описание

В данной статье я хочу привести сравнение скорости работы 1С: Предприятие 8.3 при использовании разных СУБД.

На написание этой статьи меня вдохновила отличная статья Немного о конфигурировании PostgreSQL и 1С Батл: PostgreSQL 9,10 vs MS SQL 2016.

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

Вступление

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

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

Но возникает закономерный вопрос — какова скорость работы платформы, при использовании различных СУБД и различном расположении сервера 1С?

Я не буду сравнивать разные версии самих платформ 1С. Я хочу получить информацию как ведет себя платформа 8.3.14 при работе с MS SQL  и с PostgreSQL. Как ведет себя 1С при работе на Windows или на Linux системах? В каком случае есть смысл остаться на файловых базах, а когда таки надо брать серверные, и какой прирост или падение производительности будет в этом случае.

В своей работе я довольно часто сталкиваюсь одними и теми же вопросом. Какое программное обеспечение необходимо использовать в работе баз данных 1С? Что нужно для полноценной работы, например магазина retail? А если это несколько магазинов, то какой вариант ПО необходим в этом случае? Какой минимальный набор оборудования необходим? Что лучше: платный софт или же можно использовать бесплатный?

Попробую рассмотреть некоторые вопросы на примерах в этой статье.

Выбор софта для работы

На сегодняшний день практически все, кто работает в среде 1С, так или иначе сталкиваются с вопросом "а какое оборудование нам надо?", "какие требования по железу необходимы?" и по сути — все вопросы крутятся вокруг одного слова — бюджет.

Если мы говорим про отдельно взятый магазин, где будет находится локальная база (РИБ, например), и все торговые операции будут совершатся на "кассе", то наличия одного компьютера думаю вполне хватит, вот только какую ОС на него ставить? Какой софт использовать?

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

И такие вопросы появляются изо дня в день.

Я не буду рассматривать цены на сборку и покупку компьютеров, серверов и любого другого железа. Меня больше интересует вопрос об используемом на нём программного обеспечения. Так как заведомо, если есть бюджет, который обычно выделяется на рабочее место, то у нас два варианта — взять мощнее оборудование и взять бесплатный софт, или купить платный софт, но остаться на том что есть, или купить новое, но хуже.

Посмотреть какие системные требования к операционной системе для работы 1С можно здесь. Из всего списка, нас интересуют Windows и Linux. Так как MacOS на кассах мы не видели. Хотя, сейчас на кассах начинают появляться устройства на базе ОС Android и iOS.

Следующий этап, это приобретение лицензии 1С. Перечень продуктов и цен на них можно посмотреть здесь

Если речь идет об использовании файловой базы, то достаточно будет приобрести необходимый программный продукт, например 1С:Розница 8 ПРОФ, который в себя включает лицензию на конфигурацию и одного пользователя. При одновременном подключении более одного пользователя необходимо будет также докупить нужное количество клиентских лицензий, например 1С 8 ПРОФ. Клиентская лицензия на 5 рабочих мест.

Если необходим клиент-серверный вариант работы базы данных, то для этого приобретаются другие лицензии. Однозначно необходима лицензия на сам программный продукт, например 1С:Розница 8 ПРОФ, а также лицензия на сервер 1С, например 1С 8.3 ПРОФ. Лицензия на сервер (x86 и/или x64), и необходимое количество клиентских лицензий для работы пользователей в базе.

Сразу возникает вопрос: Если выбран клиент-серверный вариант, то база 1С будет расположена в какой-нибудь СУБД. В какой?

На текущий момент 1С может работать с 4 СУБД: Microsoft SQL Server, PostgreSQL, IBM DB2 и Oracle Database.

Исторически сложилось, что 1С давно и хорошо работает с СУБД Microsoft SQL Server. 

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

Однако хочу отметить, что выбрав в качестве СУБД MS SQL, устанавливать её нужно будет на ОС семейства Windows, т.к 1С, пока,  не работает с MS SQL, которая установлена на Linux системах, при чем в независимости от того — на какой ОС расположен сервер 1С. 

Следующий вопрос: какую ОС Windows необходимо приобретать? Если мы говорим о количестве пользователей, работающих удаленно (RDP), больше одного, тогда Windows 10 не подходит для этих целей. Выбор очевиден — ОС Windows Server. С другой стороны, с развитием тонких клиентов — люди все реже и реже подключаются по RDP, а выбирают работу через тонкий клиент по вебу.

На текущий момент компания Microsoft выпустила ОС Windows Server 2019. Есть хорошая статья, которая описывает условия лицензирования этой ОС.  

Альтернативный вариант использования файловой базы или клиент-серверной — это использовать ОС семейства Linux.

Сегодня 1С хорошо работает в Linux системах, стабильно. Сама по себе ОС является бесплатной, что позволяет значительно экономить бюджетные средства.

При клиент-серверном варианте работы, можно также использовать СУБД  PostgreSQL, которая является бесплатной для использования. Более того, PostgreSQL может работать как на Linux системе, так и на Windows ОС в паре с сервером 1С.

Таким образом можно также значительно сэкономить бюджетные средства, выбрав это ПО.

СУБД IBM DB2 и Oracle Database являются также коммерческими (условно-бесплатными) продуктами, которые работают с 1С: Предприятие, однако большой популярности в среде 1С не получили.

Стоит отдельно отметить наличие сборки "Мини сервер 1С", куда входит ключ 1С сервера и 5 пользовательских лицензий, что стоит дешевле, чем отдельно покупать сервер и 5 лицензий.

Хочу вернуться к вопросам, которые я задал в начале этой статьи: какое ПО лучше использовать? Платное или бесплатное? В чем разница?

Для ответа на эти вопросы я решил провести ряд тестов, которые показывают скорость работы базы 1С в разной среде.

Вкратце на счет оборудования:

Относительно выбора оборудования, на мой взгляд, важными являются следующие критерии — SSD (лучше NVMe), высокая частота процессора. Остальное — выбирается под конкретные нужды. Если этот вопрос интересен, то могу поделиться подробно своим мнением в комментариях.

Однако, нас все же интересует вопрос производительности 1С в тех или иных условиях, в зависимости от задач.

Например, есть клиент, у него 100 РИБ узлов, у него около 100 000 товаров, и более 1 000 000 характеристик и штрихкодов. И вот приходит запрос — какое оборудование купить на кассы, а какое на сервер, и есть ли смысл ставить сервер на кассы?

Сейчас в сети много тестов (в том числе Гилева), есть APDEX от 1С и т.д, но в нашем случае это все бесполезно, ибо с самой кассы уходит мало данных, операций в кассе делается не много, и самые сложные — это пробитие Чека ККМ. НО вот на саму кассу приходит огромное количество данных, особенно в межсезонье, очень много данных по сегментам скидок, по новому товару, новые штрихкода, документы перемещений и т.д.

Отсюда возникает вопрос — какая конфигурация оборудования и софта нас устроит, чтобы в течении краткого времени получить всю нужную информацию на кассе. Т.е. нас интересуют реальные цифры создания объектов в базе, проведение документов и т.д., причем именно последовательные операции, так как типовые обмены именно так и передают данные.

Сразу хочу обратить внимание, что все данные рекомендации и методы замеров основаны на задаче когда доступ в ЦБ имеют около 5 человек в 90% случаях, и только изредка, к ЦБ могут подключиться в онлайне все кассы, такое бывает в случаях, когда ночной обмен не успел пройти, срочные изменения цен/скидок, не успел выгрузиться новый товар и т.д.

Тестирование

Виды тестов

Какие тесты будут проводится и чем, собственно, тестировать?

В этой статье я использовал 2 вида тестов:

  • Нагрузочный тест TPC-1C. На этот тест я обратил внимание, потому что в нём учитываются настройки СУБД, ОС так и сама аппаратная часть стенда.

  • Некий наш внутренний нагрузочный тест, который показывает скорость выполнения разных сценариев. Например — создание справочника, проведение документа по одному регистру с разным количеством строк, удаление объектов, срезы разные и т.д. 

Тестирование платформы на Windows Server 2019 + MS SQL 2017 на одной машине

В качестве стенда для тестов была создана виртуальная машина со следующими характеристиками:

CPU Intel Core i3-8100 3.6GHz

RAM 8 Gb DDR-4 3200 MHz

Samsung SSD 960 EVO NVMe M.2

Была произведена чистая установка ОС Microsoft Windows Server 2019 RTM Build 17763 Standard.

Была установлена СУБД MS SQL 2017 Developer, а также SQL Server Management Studio 17 для управления СУБД в графическом режиме.

 

Настройки СУБД были приведены к следующим:

Количество максимально потребляемой СУБД оперативной памяти выставлено 4Гб.

Стоит галочка "Приоритет SQL сервера". Максимальное количество рабочих потоков выставлено 2048.

 

Была установлена платформа 1С: Предприятие 8.3.14.1565 x64

и создана база onecdb в клиент-серверном варианте

Результат нагрузочного теста TPC-1C выглядит так:

При запуске второго теста из используемых, я установил следующие показатели при замерах:

И получил такой результат. Количество баллов — это тоже самое время в мс, т.е. чем меньше — тем лучше.

Название операцииВремя выполненияКоличество баллов
 Создать и провести документ Приход 200 штук, по 1,000 позиций товара в каждом00:01:53, 671мс113671
 Создать и провести документ Установка цен 100 штук, по 1,000 позиций товара в каждом00:00:52, 327мс52327
 Удалить документ Приход 200 штук, по 1,000 позиций товара в каждом00:00:24, 500мс24500
Очистка штрихкодов 120,000 метод Набором 00:06:47, 181мс407181
Получение оборотов, количество строк: 1,000235мс235
Получение остатков, количество строк: 1,00016мс16
Получение первого среза цен для 1,000655мс655
Получение последнего среза цен для 1,000625мс625
Создание номенклатуры 10,00000:00:58, 624мс58624
Создание штрихкодов 120,000 метод Набором 00:00:08, 484мс8484
Удаление номенклатуры 10,00000:00:54, 593мс54593
Количество баллов00:12:00, 911мс720911

 

Тестирование платформы на Debian 9.7 + PostgreSQL 11 на одной машине

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

Была произведена чистая установка ОС Debian 9.7

Была установлена СУБД PostgreSQL 11 (сборка от Postgrespro)

Был установлен сервер 1С: Предприятие 8.3.14.1565

И создана база onecpg в клиент-серверном варианте

Результат нагрузочного теста TPC-1C выглядит так:

* тест произведен без оптимизации PSQL

Результат нагрузочного теста TPC-1C при оптимизации PSQL:

* для оптимизации PSQL я воспользовался утилитой PGTune. Оптимизация делалась "поверхностно"  под аппаратную конфигурацию стенда, так как более глубокие настройки делаются под определенные объемы БД, их количество на одном сервере и под определенное количество пользователей. Файл конфигурации привел к такому виду:

# DB Version: 11
# OS Type: linux
# DB Type: mixed
# Total Memory (RAM): 8 GB
# CPUs num: 4
# Connections num: 10
# Data Storage: ssd

max_connections = 10
shared_buffers = 2GB
effective_cache_size = 6GB
maintenance_work_mem = 512MB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 104857kB
min_wal_size = 1GB
max_wal_size = 2GB
max_worker_processes = 4
max_parallel_workers_per_gather = 2
max_parallel_workers = 4
superuser_reserved_connections = 3
max_wal_senders = 0
standard_conforming_strings = off

listen_addresses = '*'
port = 5432

Запуск второго теста до оптимизации PSQL показал такие результаты

Название операцииВремя выполненияКоличество баллов
 Создать и провести документ Приход 200 штук, по 1,000 позиций товара в каждом00:01:25, 746мс85746
 Создать и провести документ Установка цен 100 штук, по 1,000 позиций товара в каждом00:00:41, 725мс41725
 Удалить документ Приход 200 штук, по 1,000 позиций товара в каждом00:00:06, 587мс6587
Очистка штрихкодов 120,000 метод Набором 00:05:48, 601мс348601
Получение оборотов, количество строк: 1,00059мс59
Получение остатков, количество строк: 1,0003мс3
Получение первого среза цен для 1,00000:00:01, 43мс1043
Получение последнего среза цен для 1,00000:00:01, 49мс1049
Создание номенклатуры 10,00000:00:42, 682мс42682
Создание штрихкодов 120,000 метод Набором 00:00:05, 392мс5392
Удаление номенклатуры 10,00000:00:50, 467мс50467
Количество баллов00:09:43, 354мс583354

Результат второго теста после оптимизации

Название операцииВремя выполненияКоличество баллов
 Создать и провести документ Приход 200 штук, по 1,000 позиций товара в каждом00:01:24, 118мс84118
 Создать и провести документ Установка цен 100 штук, по 1,000 позиций товара в каждом00:00:39, 620мс39620
 Удалить документ Приход 200 штук, по 1,000 позиций товара в каждом00:00:06, 493мс6493
Очистка штрихкодов 120,000 метод Набором 00:05:38, 698мс338698
Получение оборотов, количество строк: 1,00046мс46
Получение остатков, количество строк: 1,0004мс4
Получение первого среза цен для 1,00000:00:01, 44мс1044
Получение последнего среза цен для 1,00000:00:01, 42мс1042
Создание номенклатуры 10,00000:00:43, 562мс43562
Создание штрихкодов 120,000 метод Набором 00:00:05, 693мс5693
Удаление номенклатуры 10,00000:00:46, 456мс46456
Количество баллов00:09:26, 776мс566776

Тестирование платформы на Debian 9.7 + PostgreSQL 10.5-11.1C (сборка от 1С) на одной машине

В качестве стенда для тестов была создана виртуальная машина с такими же характеристиками.

Была произведена чистая установка ОС Debian 9.7

Была установлена СУБД PostgreSQL 10.5-11.1C (сборка от 1C)

Был установлен сервер 1С: Предприятие 8.3.14.1565

Результат нагрузочного теста TPC-1C выглядит так:

* тест произведен без оптимизации PSQL

Запуск второго теста  показал такие результаты

Название операцииВремя выполненияКоличество баллов
 Создать и провести документ Приход 200 штук, по 1,000 позиций товара в каждом00:01:23, 119мс83119
 Создать и провести документ Установка цен 100 штук, по 1,000 позиций товара в каждом00:00:41, 404мс41404
 Удалить документ Приход 200 штук, по 1,000 позиций товара в каждом00:00:06, 557мс6557
Очистка штрихкодов 120,000 метод Набором 00:05:52, 474мс352474
Получение оборотов, количество строк: 1,000 49мс49
Получение остатков, количество строк: 1,0004мс4
Получение первого среза цен для 1,00000:00:01, 176мс1176
Получение последнего среза цен для 1,00000:00:01, 141мс1141
Создание номенклатуры 10,00000:00:41, 958мс41958
Создание штрихкодов 120,000 метод Набором 00:00:05, 223мс5223
Удаление номенклатуры 10,00000:00:46, 143мс46143
Количество баллов00:09:39, 248мс579248

 

Тестирование платформы на Debian 9.7 + MS SQL 2017

В качестве стенда для тестов была создана виртуальная машина с такими же характеристиками.

Была произведена чистая установка ОС Debian 9.7

Была установлена СУБД MS SQL 2017

Был установлен сервер 1С: Предприятие 8.3.14.1565

При создании базы данных я получаю ошибку

что собственно и логично, т.к. сервер 1С + MS SQL на линуксе пока не работает.

 

Теперь проведем ряд тестов, использую сервер 1С: Предприятие на одной машине, а сервер СУБД на другой

Debian 9.7 + PostgreSQL | Windows Server 2019 + 1C: Предприятие

Результат нагрузочного теста TPC-1C выглядит так:

Результат второго теста:

Название операцииВремя выполненияКоличество баллов
 Создать и провести документ Приход 200 штук, по 1,000 позиций товара в каждом00:02:13, 418мс133418
 Создать и провести документ Установка цен 100 штук, по 1,000 позиций товара в каждом00:01:07, 686мс67686
 Удалить документ Приход 200 штук, по 1,000 позиций товара в каждом00:00:10, 609мс10609
Очистка штрихкодов 120,000 метод Набором 00:07:47, 276мс467276
Получение оборотов, количество строк: 1,00063мс63
Получение остатков, количество строк: 1,0000мс0
Получение первого среза цен для 1,00000:00:01, 468мс1468
Получение последнего среза цен для 1,00000:00:01, 469мс1469
Создание номенклатуры 10,00000:00:55, 555мс55555
Создание штрихкодов 120,000 метод Набором 00:00:07, 327мс7327
Удаление номенклатуры 10,00000:01:04, 406мс64406
Количество баллов00:13:29, 277мс809277

 

Windows Server 2019 + MS SQL 2017 | Windows Server 2019 + 1C: Предприятие

Результат нагрузочного теста TPC-1C выглядит так:

Результат второго теста:

Название операцииВремя выполненияКоличество баллов
 Создать и провести документ Приход 200 штук, по 1,000 позиций товара в каждом00:02:15, 940мс13
 Создать и провести документ Установка цен 100 штук, по 1,000 позиций товара в каждом00:01:05, 867мс65867
 Удалить документ Приход 200 штук, по 1,000 позиций товара в каждом00:00:23, 336мс23336
Очистка штрихкодов 120,000 метод Набором 00:05:51, 602мс351602
Получение оборотов, количество строк: 1,000230мс230
Получение остатков, количество строк: 1,0008мс8
Получение первого среза цен для 1,000619мс619
Получение последнего среза цен для 1,000635мс635
Создание номенклатуры 10,00000:00:48, 558мс48558
Создание штрихкодов 120,000 метод Набором 00:00:08, 470мс8470
Удаление номенклатуры 10,00000:00:49, 550мс49550
Количество баллов00:11:24, 815мс684815

Результаты

Результаты нагрузочного теста TPC-1C

Сервер 1С + СУБД на одной машинеКоличество балловСкорость диска в 1 потокМаксимальная скорость
Windows Server 2019 + MS SQL 201722.5266948 Кб/с168805 Кб/с
Debian 9.7 + PostgreSQL 1123.15/23.92107992/114973 Кб/с320746/321888 Кб/с
Debian 9.7 + PostgreSQL 10.5-11.1C23.3692714 Кб/с279110 Кб/с

 

Сервер 1С и СУБД на разных машинахКоличество балловСкорость диска в 1 потокМаксимальная скорость
Debian 9.7 + PostgreSQL | Windows Server 2019 + 1C: Предприятие17.0655559 Кб/с131712 Кб/с
Windows Server 2019 + MS SQL 2017 | Windows Server 2019 + 1C: Предприятие23.9248859 Кб/с125099 Кб/с

Результаты тестирования, где сервер 1С и СУБД находятся на одной машине

Сервер 1С + СУБД на одной машинеWindows Server 2019 + MS SQL 2017Debian 9.7 + PostgreSQL 11Debian 9.7 + PostgreSQL 10.5-11.1C
Название операцииВремя выполненияКоличество балловВремя выполненияКоличество балловВремя выполненияКоличество балловВремя выполненияКоличество баллов
Создать и провести документ Приход 200 штук, по 1,000 позиций товара в каждом00:01:53, 671мс11367100:01:25, 746мс8574600:01:24, 118мс8411800:01:23, 119мс83119
Создать и провести документ Установка цен 100 штук, по 1,000 позиций товара в каждом00:00:52, 327мс5232700:00:41, 725мс4172500:00:39, 620мс3962000:00:41, 404мс41404
Удалить документ Приход 200 штук, по 1,000 позиций товара в каждом00:00:24, 500мс2450000:00:06, 587мс658700:00:06, 493мс649300:00:06, 557мс6557
Очистка штрихкодов 120,000 метод Набором 00:06:47, 181мс40718100:05:48, 601мс34860100:05:38, 698мс33869800:05:52, 474мс352474
Получение оборотов, количество строк: 1,000235мс23559мс5946мс46 49мс49
Получение остатков, количество строк: 1,00016мс163мс34мс44мс4
Получение первого среза цен для 1,000655мс65500:00:01, 43мс104300:00:01, 44мс104400:00:01, 176мс1176
Получение последнего среза цен для 1,000625мс62500:00:01, 49мс104900:00:01, 42мс104200:00:01, 141мс1141
Создание номенклатуры 10,00000:00:58, 624мс5862400:00:42, 682мс4268200:00:43, 562мс4356200:00:41, 958мс41958
Создание штрихкодов 120,000 метод Набором 00:00:08, 484мс848400:00:05, 392мс539200:00:05, 693мс569300:00:05, 223мс5223
Удаление номенклатуры 10,00000:00:54, 593мс5459300:00:50, 467мс5046700:00:46, 456мс4645600:00:46, 143мс46143
Количество баллов00:12:00, 911мс72091100:09:43, 354мс58335400:09:26, 776мс56677600:09:39, 248мс579248

Результаты тестирования, где сервер 1С и СУБД находятся на разных машинах:

Сервер 1С и СУБД на разных машинахDebian 9.7 + PostgreSQL | Windows Server 2019 + 1C: ПредприятиеWindows Server 2019 + MS SQL 2017 | Windows Server 2019 + 1C: Предприятие
Название операцииВремя выполненияКоличество балловВремя выполненияКоличество баллов
 Создать и провести документ Приход 200 штук, по 1,000 позиций товара в каждом00:02:13, 418мс13341800:02:15, 940мс135940
 Создать и провести документ Установка цен 100 штук, по 1,000 позиций товара в каждом00:01:07, 686мс6768600:01:05, 867мс65867
 Удалить документ Приход 200 штук, по 1,000 позиций товара в каждом00:00:10, 609мс1060900:00:23, 336мс23336
Очистка штрихкодов 120,000 метод Набором 00:07:47, 276мс46727600:05:51, 602мс351602
Получение оборотов, количество строк: 1,00063мс63230мс230
Получение остатков, количество строк: 1,0000мс08мс8
Получение первого среза цен для 1,00000:00:01, 468мс1468619мс619
Получение последнего среза цен для 1,00000:00:01, 469мс1469635мс635
Создание номенклатуры 10,00000:00:55, 555мс5555500:00:48, 558мс48558
Создание штрихкодов 120,000 метод Набором 00:00:07, 327мс732700:00:08, 470мс8470
Удаление номенклатуры 10,00000:01:04, 406мс6440600:00:49, 550мс49550
Количество баллов00:13:29, 277мс80927700:11:24, 815мс684815

Тесты на файловых базах 1С

Результаты тестирования на Debian 9.7 + 1С 8.3.14.1565 и Windows 10 + 1С 8.3.14.1565

Файловая база 1СDebian 9.7 + 1C: ПредприятиеWindows 10 + 1C: Предприятие
Название операцииВремя выполненияКоличество балловВремя выполненияКоличество баллов
 Создать и провести документ Приход 200 штук, по 1,000 позиций товара в каждом00:00:44, 355мс4435500:00:54, 219мс54 219
 Создать и провести документ Установка цен 100 штук, по 1,000 позиций товара в каждом00:00:20, 385мс2038500:00:26, 234мс26 234
 Удалить документ Приход 200 штук, по 1,000 позиций товара в каждом00:00:07, 723мс772300:00:11, 563мс11 563
Очистка штрихкодов 120,000 метод Набором 00:01:12, 522мс7252200:02:28, 359мс148 359
Получение оборотов, количество строк: 1,000136мс136171мс171
Получение остатков, количество строк: 1,0005мс50мс0
Получение первого среза цен для 1,000610мс610750мс750
Получение последнего среза цен для 1,000600мс600750мс750
Создание номенклатуры 10,00000:00:18, 358мс1835800:00:30, 968мс30 968
Создание штрихкодов 120,000 метод Набором 00:00:04, 658мс465800:00:04, 937мс4 937
Удаление номенклатуры 10,00000:00:18, 279мс1827900:00:20, 219мс20 219
Количество баллов00:01:50,451мс11045100:02:24, 874мс144 874

* тесты запускались 3 раза. Взято среднее значение тестов.

Результат нагрузочного теста TPC-1C выглядит так:

Файловая база 1СКоличество баллов
Debian 9.7 + 1С: Предприятие66.67
Windows 10 + 1С: Предприятие49.5

Решил проверить скорость работы мобильного приложения 1С на нескольких телефонах. Использовал нагрузочный тест, который показывает скорость выполнения разных сценариев.

Результаты тестирования

Название тестовSamsung S9+Xiaomi Mi5sXiaomi MiA2Lite
Создать и провести документ Установка цен 100 штук, по 1 000 позиций товара в каждом00:00:57, 137мс57 13700:02:32, 175мс152 17500:01:49, 993мс109 993
Удалить документ Приход 200 штук, по 1 000 позиций товара в каждом00:01:15, 430мс75 43000:02:04, 730мс124 73000:02:11, 194мс131 194
Получение оборотов, количество строк: 1 00000:00:01, 40мс1 04000:00:02, 216мс2 21600:00:02, 127мс2 127
Получение остатков, количество строк: 1 00028мс2861мс6153мс53
Получение первого среза цен для 1 00000:00:02, 528мс2 52800:00:05, 337мс5 33700:00:04, 658мс4 658
Получение последнего среза цен для 1 00000:00:02, 520мс2 52000:00:05, 692мс5 69200:00:04, 791мс4 791
Создание номенклатуры 10 00000:00:33, 796мс33 79600:01:41, 170мс101 17000:01:19, 443мс79 443
Удаление номенклатуры 10 00000:00:24, 366мс24 36600:01:22, 865мс82 86500:00:56, 635мс56 635
Количество баллов00:05:14, 604мс314 60400:13:13, 63мс793 06300:10:32, 393мс632 393

Выводы

После ряда проведенных тестов, можно наглядно посмотреть как при одних и тех же условиях меняется производительность и скорость работы 1С: Предприятие.

 СУБД + Сервер 1С на одной машине Сервер и СУБД разнесены Файловые Мобильные
Название операцииWindows 2019 + MS SQL 2017Debian 9.7 + PSQL 11
(до оптим)
Debian 9.7 + PSQL 11
(с оптим)
Debian 9.7 +
PSQL
10.5-11.1C
 Debian 9.7 +
PSQL
Win 2019 + 1C
Win 2019 +
MS SQL 2017
Win 2019 + 1C
 Debian 9.7Windows 10 Samsung
S9+
Xiaomi
Mi5s
Xiaomi
MiA2Lite
Создать и провести документ  Приход 200 штук, по 1,000 товара113 67185 74684 11883 119 133 418135 940 44 35554 219 117 759318 817243 499
Создать и провести документ Установка цен 100 штук, по 1,000 товара52 32741 72539 62041 404 67 68665 867 20 38526 234 57 137152 175109 993
Удалить документ Приход 200 штук, по 1,000 товара24 5006 5876 4936 557 10 60923 336 7 72311 563 75 430124 730131 194
Очистка штрихкодов 120,000 метод Набором 407 181348 601338 698352 474 467 276351 602 72 522148 359    
Получение оборотов, количество строк: 1,000235594649 63230 136171 1 0402 2162 127
Получение остатков, количество строк: 1,00016344 08 50 286153
Получение первого среза цен для 1,0006551 0431 0441 176 1 468619 610750 2 5285 3374 658
Получение последнего среза цен для 1,0006251 0491 0421 141 1 469635 600750 2 5205 6924 791
Создание номенклатуры 10,00058 62442 68243 56241 958 55 55548 558 18 35830 968 33 796101 17079 443
Создание штрихкодов 120,000 метод Набором 8 4845 3925 6935 223 7 3278 470 4 6584 937    
Удаление номенклатуры 10,00054 59350 46746 45646 143 64 40649 550 18 27920 219 24 36682 86556 635
Количество баллов720 911583 354566 776579 248 809 277684 815 110 451144 874 314 604793 063632 393

При использовании варианта расположения сервера 1С с сервером СУБД на одной машине, вариант Linux + PSQL 11 работает быстрее (566776 балов) чем MS Windows + MS SQL (720911 балов), причем даже без настроек оптимизации (583354 бала) и не зависимо от версии PostgreSQL (579248 балов).

В варианте, когда сервер 1С: Предприятие стоит отдельно от сервера СУБД, то здесь быстрее работает ПО от Microsoft (684815 баллов), чем ПО на Linux (809277 баллов).Серверная база 1С работает быстрее в связке Linux + PostgreSQL + 1С: Предприятие (566776 баллов), чем MS Windows + MS SQL + 1С: Предприятие (720911 баллов).

При использовании файловой базы — явным "лидером" стала ОС Linux. 110451 балл, против 144874 балла.

Глядя на все эти цифры, можно сделать вывод, что практически при всех вариантах использования 1С и СУБД, бесплатное ПО показывает результат лучший, чем платное. Тогда встает закономерный вопрос: зачем платить больше?

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

Но хочу сразу предупредить возможные комментарии — всё что ни делается, всё относительно! Ситуации разные, задачи разные. И здесь не затрагиваются вопросы организации хранения, дублирования, восстановления, безотказности в работе! И тем более здесь нет и не будет сравниваться информация по поводу возможностей тех, либо иных продуктов. 

Здесь показан сравнительный тест производительности 1С: Предприятие. 

P.S.

Конечно, у бесплатного ПО на кассах есть один существенный недостаток — отсутствие драйверов, особенно со старым оборудованием. И это конечно очень грустно. Но, надеюсь что эта статься внесет понимание о том, что в реалиях многих бизнесов, где используют пиратские версии Windows и SQL, либо лицензируют их не по правилам (на SQL сервер берут одну лицензию пользователя, а не по количеству пользователей которые работают с 1С См. п.17). То и эти компании поймут, что бесплатные продукты не просто — то же самое, что и платные, а даже в некоторых случаях быстрее.

has been added to your cart:
Оформление заказа