Обратный звонок RedConnect

Затраты на СУБД MS SQL и PostgreSQL:

В связи со стремительной девальвацией рубля, покупать СУБД Microsoft SQL стало очень дорого, а для некоторых компаний стоимость этих лицензий стала совсем «неподъемной». В данный момент чтобы развернуть сервер Microsoft SQL для 20 пользователей необходимо купить такие лицензии:

  • 1 лицензия на операционную систему (WinSvrStd 2012R2 )

  • 20 лицензий на подключение к серверу (WinSvrCAL 2012)

  • 1 лицензия на сервер СУБД (SQLSvrStd 2014)

  • 20 лицензий на подключение к СУБД (SQLCAL 2014)

Ориентировочная стоимость такого пакета 275 000 руб., что для компании, в которой всего 20 человек достаточно дорого. Данных затрат можно избежать, если создать сервер СУБД на свободном ПО. Поставить операционную систему семейства Linux и бесплатную версию СУБД – PostgreSQL. На таком сервере без проблем можно развернуть сервер 1С предприятия, а также другие роли, которые потенциально могут быть совмещены c ролью баз данных, например WebServer или файловое хранилище.

Так как использовать свободное ПО очень привлекательно с финансовой точки зрения, было решено проверить, на сколько это хорошо с точки зрения производительности.

Тестирование производительности 1С:

Для выполнения теста было взято оборудование и программное обеспечение, указанное в таблице 1. Физический сервер для обоих стендов использовался один и тот же, менялось только ПО. Настройки обоих СУБД использовались по-умолчанию и в статье мы их подробно не расписываем. Дистрибутив PostGreSQL с соответсвующими патчами были взят с сайта компании 1С, версия - последняя из доступных на данном сайте.

Таблица 1. Тестовые стенды

Характеристики

Стенд №1

Стенд №2

1

Операционная система

CentOS 6

Windows Server 2012R2

2

СУБД

PostgreSQL 9.3.3

Microsoft SQL Server 2012R2

3

Центральный процессор

Intel Core i5 3330 (3.0 Ghz)

4

Оперативная память

24 GB DDD3 1333 Ghz

5

Жесткий диск

SSD 240 Gb Intel


Для начала был выполнен «тест Гилева», который показал незначительное преимущество стенда номер 2, против стенда со свободным ПО.

Результаты смотрим ниже, разница в значениях получилась всего 3%.

Для информации: «тест Гилева» - популярный синтетический тест 1С, который выполняет ряд стандартных операций – чем быстрее тест выполняется, тем выше оценка. Оценка выполняется в условных единицах. Полученную оценку можно сравнить с прилагаемой к тесту шкале, которая покажет на сколько высока производительность текущей системы.

тест субд экономия на 1с


Рисунок 1. Результат теста Гилева. Стенд №2 СУБД MS SQL

как сэкономить на 1с с помощью бесплатной субд

Рисунок 2. Результат теста Гилева. Стенд №1 СУБД PostgreSQL


Далее решено было тестирование выполнить по методике APDEX. Суть метода заключается в измерении времени выполнения основных операций в 1С, замеры проводятся несколько раз на протяжении определенно периода времени. Далее полученный результат сравнивается с приемлемым временем выполнения той или иной операции.

Для этого взяли реальную рабочую базу одной из самых тяжелых конфигураций 1С, характеристики базы указаны в таблице №2.

Таблица 2. Характеристики тестовой базы

Конфигурация

Редакция

Объем базы

Управление производственным предприятием

1.3.57.1

16,3 Гб


Замерялось время выполнения 7-ми стандартных операций с объектами в базе. Каждый тест выполнялся 10 раз и выводилось среднее значение. Замеры проводились с использованием толстого клиента через локальную сеть. Клиент устанавливался на рабочую станцию под управлением Windows 7. Тесты также пробовали запускать с клиента установленного на Ubuntu Linux, но он работал не стабильно и все тесты решено было выполнять только с клиента на Windows.

Таблица 3. Результаты APDEX

Ключевая операция

Тип

Время выполнения в секундах

Отклонение

Стенд №2 (MSSQL)

Стенд №1

(Свободное ПО)

Открытие документа

Заказ клиента

0,348

0,617

77%

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

Заказ клиента

0,399

0,568

42%

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

Документ объект: Заказ клиента

0,185

0,205

11%

Сформирован отчет

Анализ доходов расходов

0,733

1,022

39%

Сформирован отчет

Ведомость по партиям товаров

4,104

4,912

20%

Сформирован отчет

Ведомость по товарам на складах

0,316

0,508

61%

Сформирован отчет

Расчеты с клиентами

0,200

0,334

67%


В среднем наша реальная база при использовании MSSQL работала на 45% быстрее, чем на стенде со свободным ПО. На некоторых тестах отрыв был очень значителен, а на таких как, например проведение нового документа составлял всего 11%.

Вывод:

  1. 1C на СУБД MSSQL работает примерно в 1,5 быстрее, чем на PostgreSQL. Соответственно, если есть возможность купить или арендовать лицензии MSSQL, лучше использовать его для более высокой производительности. Для небольших и ненагруженных баз можно попробовать использовать версию MSSQL Express. Тестов с ней мы не проводили, поэтому она может показать себя по производительности как лучше так и хуже PostgreSQL. Данная редакция ограничена использованием 1 процессора и 1 Гб ОЗУ, также не работает с базами более 10Гб. Если база дорастет до такого размера, то она остановиться и перестанет работать полностью, но как показывает практика, если в базе работает 15-20 пользователей, то комфортно можно работать при размере базы 4-5ГБ, далее база начинает сильно тормозить.

  2. Оценка «тестом Гилева» показывает крайне незначительное превосходство MSSQL, что позволяет сделать предположение о том, что другие базы 1С могут работать на PostgreSQL так же хорошо, как и на MSSQL, а возможно и быстрее. Перед выбором СУБД рекомендуем провести тесты на своей конкретной базе и сравнить полученные результаты.

  3. Использование СУБД PostgreSQL для развертывания на нем 1С является приемлемым решением в условиях ограниченного бюджета. База будет работать не так быстро как на MSSQL, но зато не нужно платить за лицензии.

В конце 2017 года мы провели новые тесты и опубликовали их в очередной статье.

Ещё одним способом сэкономить при использовании 1С является решение - взять сервер 1С в аренду.



EFSOL

Системная интеграция. Консалтинг

Корпоративное облако

обязательные поля
* Антиробот:
Введите ответ

Корпоративное облако

Все поля формы выделенные значком * обязательны к заполнению
* Антиробот:
Введите ответ