Затраты на СУБД 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. Результат теста Гилева. Стенд №2 СУБД MS SQL
Рисунок 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%.
Вывод:
-
1C на СУБД MSSQL работает примерно в 1,5 быстрее, чем на PostgreSQL. Соответственно, если есть возможность купить или арендовать лицензии MSSQL, лучше использовать его для более высокой производительности. Для небольших и ненагруженных баз можно попробовать использовать версию MSSQL Express. Тестов с ней мы не проводили, поэтому она может показать себя по производительности как лучше так и хуже PostgreSQL. Данная редакция ограничена использованием 1 процессора и 1 Гб ОЗУ, также не работает с базами более 10Гб. Если база дорастет до такого размера, то она остановиться и перестанет работать полностью, но как показывает практика, если в базе работает 15-20 пользователей, то комфортно можно работать при размере базы 4-5ГБ, далее база начинает сильно тормозить.
-
Оценка «тестом Гилева» показывает крайне незначительное превосходство MSSQL, что позволяет сделать предположение о том, что другие базы 1С могут работать на PostgreSQL так же хорошо, как и на MSSQL, а возможно и быстрее. Перед выбором СУБД рекомендуем провести тесты на своей конкретной базе и сравнить полученные результаты.
-
Использование СУБД PostgreSQL для развертывания на нем 1С является приемлемым решением в условиях ограниченного бюджета. База будет работать не так быстро как на MSSQL, но зато не нужно платить за лицензии.
В конце 2017 года мы провели новые тесты и опубликовали их в очередной статье.
Ещё одним способом сэкономить при использовании 1С является решение - взять сервер 1С в аренду.
EFSOL