Программные решения компании 1С очень давно занимают лидирующие позиции среди учетных программ, а сама компания – практически монополист на рынке. Наверное нет сферы бизнеса, учет которой не пытались бы автоматизировать на базе платформы 1С, а сама платформа действительно признана не только учетной системой, но и полноценной средой разработки.
Именно поэтому платформа 1С (без дополнительных конфигураций и надстроек) является довольно сложной системой, которая постоянно дорабатывается и развивается, что не может не сказаться на ее производительности и стабильности. Как и любая система, платформа 1С имеет стабильные и нестабильные версии, баги и, конечно же, версия от версии отличается производительностью. Зачастую обновление на определенную версию платформы вызвано необходимостью внедрения нового функционала в конфигурацию или же требованиями конфигурации в обновлении платформы – это происходит уже как факт случившийся, а значит возможности отказаться от новой платформы нет.
В статье мы попробуем показать растущие требования к аппаратной составляющей платформ 1С и снижение производительности 1С на тех же ресурсах, чтобы доказать эмпирически моральное устаревание выделенного пула для платформы 1С, а также иметь возможность прогнозировать возможный рост потребляемых ресурсов новыми платформами.
Методика тестирования
Мы разделим тестирование на две части. В первой части мы проанализируем платформы версии 8.2, исключительно ради теоретического знания и построения регрессионной модели роста производительности. Во второй части мы проведем более детальное исследование платформ версии 8.3, поскольку они сейчас используются на практике в большинстве случаев.
В качестве тестового стенда будем использовать виртуальную машину на гипервизоре Hyper-V c установленной Windows Server 2016 Standard. В качестве опытного образца будем использовать только серверный вариант, 64-битный сервер 1С:Предприятия, Microsoft SQL Server 2017 Standard.
Параметры тестового стенда
Рисунок 1 – Методика тестирования платформ версий 8.2
Рисунок 2 – Методика тестирования платформ версии 8.3
АПДЕКС – открытый международный стандарт, разработанный с целью формирования объективной оценки показателей производительности корпоративных информационных систем. Такая методика позволяет
- Привести к простому значению разнородные факторы и множество статистических данных о производительности. Главное преимущество методики – в простом результате, для быстрой оценки состояния производительности информационной системы.
- Ранжировать отслеживаемые операции по приоритетности с точки зрения бизнеса, что позволяет правильно акцентировать внимание при мониторинге и оптимизации большого количества операций.
- Построить индекс на основании фактических данных, полученных при работе всех пользователей приложения. Результирующая оценка производительности по методике Apdex является общей, фактической и объективной.
Система АПДЕКС позволит провести сценарии тестирования по выполнению стандартных операций, которые делают пользователи ежедневно в подобных конфигурациях и замерить время их выполнения. Для конфигурации 1С:Бухгалтерия это:
- Формирование оборотно-сальдовой ведомости.
- Проведение возврата товаров от покупателя.
- Проведение платежных поручений.
- Проведение ПТИУ.
- Проведение реализации товаров и услуг.
- Проведение счета на оплату.
- Справка расчета калькуляции себестоимости.
Результаты тестирования и анализ
Перейдем к первому этапу тестирования и анализу результатов Теста Гилева по платформе 8.2 за период с 13-года до последнего релиза платформы 8.2.
На графике представлены значения тестов и соответствующая платформа:
Диаграмма значений теста Гилева относительно версий платформы 1С 8.2 (чем больше значение, тем лучше)
Из графика видно, что гипотеза, выдвинутая в начале статьи, не подтверждается. С выходом новой версии платформы 8.2, производительность платформы как минимум не падает согласно данным нагрузочного теста, т.е. наименьшее значение у платформы 8.2.17.157 – 19,46, а максимальное у 8.2.18.104 – 22,94 единицы.
Но не будем останавливаться и приведем пример графика нагрузочного теста в разрезе платформы 8.3 и попробуем подтвердить или опровергнуть вышеупомянутую гипотезу:
Диаграмма значений теста Гилева относительно версий платформы 1С 8.3 (чем больше значение, тем лучше)
Исходя из представленного выше графика видно, что с каждой новой версией платформы 1С 8.3, производительность на тех же ресурсах уменьшается, исключением является одна из последних версий платформы 8.3.16, которая вышла в конце 1-го квартала 2020 года.
Построим график в таком виде, чтобы можно было оценить тренд и предсказать будущие значения новых версий платформ 8.3:
Диаграмма значений теста Гилева относительно версий платформы 1С 8.3. Тренд снижения производительности (чем больше значение, тем лучше)
В среднем скорость падения производительности платформы на тех же ресурсах составляет 0,5 единиц по нагрузочному тесту. Максимальное падение составило 2,28 единиц.
В сравнении с первой анализируемой версией общее падение производительности составляет 5,56 единиц.
Тест Гилева. График падения производительности с версии платформы 1С 8.3.4 до версии 8.3.16.1224
Но поскольку нагрузочный тест больше синтетический и показывает условную производительность аппаратных мощностей конкретной платформы, мы провели дополнительное тестирование по методике Апдекс для оценки производительности платформы 8.3. Приведем результаты тестирования и анализа в графическом виде, где на каждом графике отображены значения времени открытия, проведения или формирования отчетов в разрезе каждой операции с линией тренда, которая показывает динамику изменения значений.
Апдекс. Диаграмма значений времени открытия информации при запуске (чем меньше значение, тем лучше)
Апдекс. Диаграмма значений записи элемента справочника «Контрагенты» (чем меньше значение, тем лучше)
Апдекс. Диаграмма значений общего времени запуска приложения (чем меньше значение, тем лучше)
Апдекс. Диаграмма значений проведения авансового отчета (чем меньше значение, тем лучше)
Апдекс. Диаграмма значений проведения платежного поручения (чем меньше значение, тем лучше)
Апдекс. Диаграмма значений формирования отчета карточки счета (чем меньше значение, тем лучше)
Апдекс. Диаграмма значений формирования отчета оборотно-сальдовой ведомости (чем меньше значение, тем лучше)
Апдекс. Диаграмма значений формирования отчета оборотно-сальдовой ведомости по счету (чем меньше значение, тем лучше)
Анализируя данные графики, видно, что только по двум операциям (проведения авансового отчета и формирования отчета карточки счета) линии тренда не имеют положительную динамику, а значит время, потраченное на операции не увеличивается. Все остальные графики имеют положительный прирост времени выполнения приведенных в тесте операций, а значит – производительность каждой последующей платформы падает. В тесте иногда значения отличаются на тысячные доли секунды, но тест проводился на стоковой конфигурации при одном пользователе. Это значит, что при работе, например, 100 пользователей на доработанной конфигурации – значения могут увеличиться в 100, а может и 1000 раз, что приведет к серьезному замедлению работы и торможению. Анализируя динамику падения производительности платформы 1С по сумме времени на выполнении всех рассматриваемых операций, получаем следующий результат:
Апдекс. Диаграмма значений общего времени выполнения операций (чем меньше значение, тем лучше)
Анализируя прирост времени выполнения операций получаем следующие данные:
Апдекс. Диаграмма прироста времени выполнения операций (чем меньше значение, тем лучше)
В среднем с каждым выпуском релиза платформы, время выполнения элементарных операций в среднем увеличивается на 1,5 секунды, с учетом использования стоковой конфигурации 1С:Бухгалтерия предприятия и выполнения этой операции одним пользователей на указанном тестовом стенде.
Если говорить о времени выпуска каждой платформы, то в среднем за два года процент падения производительности составляет 18%, а процентное соотношение падения производительности в разрезе времени выпуска релизов платформы будет выглядеть следующим образом:
Апдекс. Диаграмма процентного соотношения падения производительности в разрезе времени выпуска релизов платформы 1С (чем меньше значение, тем лучше)
Вывод
В начале данной статьи мы выдвинули гипотезу о том, что с каждой новой версией платформы 1С ее потребности в выделяемых аппаратных ресурсах растут. Проведя ряд тестов, в том числе нагрузочный Тест Гилева и тестирование по методике Апдекс, мы подтвердили эту гипотезу.
При внедрении новой платформы 1С на предприятии, необходимо не только провести тестирование нового функционала, убедиться в работоспособности старого, но и быть готовым к увеличению выделяемых ресурсов или апгрейду серверов. С каждой новой версией платформы 1С аппаратных ресурсов нужно больше, чтобы сохранить производительность и быстродействие системы как минимум на том же уровне или смириться с постоянно замедляющейся 1С.
На текущий момент мы предлагаем возможность провести бесплатный тест производительности базы 1С в нашем эталонном облаке.