Каждому ИТ-специалисту известно, что уровень производительности базы 1С зависит от:
- Уровня оборудования серверной платформы
- Частоты центрального процессора
- Частоты и объема оперативной памяти
- Быстродействия подсистемы вводавывода – тип жестких дисков, порядок массива RAID, количество генерируемых IOPS, очередь к дискам
- Рекомендуемых настроек сервера 1С:Предприятие
- Тонкой регулировки сервера СУБД MS SQL – баланс потребляемых ресурсов, распределение технических баз по логическим массивам, регламентные операции и т.д. (см. подробнее о настройках оптимизации 1С)
Помимо указанных ключевых параметров, наши ИТ-специалисты заметили, что довольно часто на показатели производительности влияют версии экземпляров MS SQL. Наша команда решила провести серию практических нагрузочных тестов и выяснить зависимость быстродействия баз 1С от версии используемого программного обеспечения MS SQL на выделенном тестовом стенде (см. Таблица 1).
В наших испытаниях мы опираемся на два метода синтетической генерации нагрузки и имитации работы пользователей в 1С. Это тест Гилева (TPC-1C) и тест 1С «Тест центр» из инструментария 1С:КИП со специальными сценариями работы, запущенный на 50 пользователей.
На текущий момент мы предлагаем возможность провести бесплатный тест производительности базы 1С в нашем эталонном облаке.
Тест Гилева (TPC-1C)
Тест принадлежит к разделу универсальных кроссплатформенных нагрузочных тестов. Он может использоваться как для файлового, так и для клиент-серверного архитектур 1С:Предприятие. Тест измеряет количество работы в единицу времени в одном потоке и подходит для оценки скорости работы однопоточных нагрузок, включая скорость прорисовки интерфейса, влияния ресурсных затрат, перепроведения документов, процедур закрытия месяца, расчета зарплаты и т.п. Универсальность позволяет делать суммарную оценку производительности, не привязываясь к одной конфигурации платформы. Результатом теста является тотальная оценка измеряемой системы 1С, выраженная в условных единицах.
Специализированный тест из инструментария «Тест центр» 1С: КИП
Тест-центр – инструмент проведения многопользовательских нагрузочных испытаний систем на базе 1С:Предприятие 8. С его помощью можно моделировать работу компании без участия реальных пользователей, что позволяет оценивать применимость, производительность и масштабируемость информационной системы в реальных условиях. Система представляет собой конфигурацию, предоставляющую механизм управления процессом тестирования. Для тестирования информационной базы, необходимо интегрировать конфигурацию Тест-центра в конфигурацию тестируемой базы при помощи сравнения и объединения конфигураций. В результате объединения к метаданным тестируемой базы будут добавлены объекты и общие модули, необходимые для работы Тест-центра.
Рисунок 1 – Схема интеграции тест-центра
Таким образом, используя инструментарий 1С: КИП, на основании имеющихся данных в реальных производственных баз 1С – программист формирует полноценный автоматический сценарий тестирования, основанный на перечне документов и справочников, ключевых для данного типа конфигурации – Заявка на расходование средств, Заказ поставщику, Реализация товаров и услуг и т.д. При запуске сценария Тест-центр будет автоматически воспроизводить многопользовательскую деятельность, описанную в сценарии. Для этого Тест-центр создаст необходимое количество виртуальных пользователей (в соответствии со списком ролей) и запустит выполнение действий.
При настройке сценариев тестирования для достоверной имитации одновременной работы большого количества пользователей – задаются определенные параметры тестирования для каждого типа документа:
- Документ – указывает конкретный документ в рабочей базе, на основе которого будет производиться нагрузочное тестирование
- Приоритет запуска – формирует порядок запуска тестов для каждого типа документов
- Количество документов – определяет объем формируемых тестовых документов
- Пауза, секунд – задержка при запуске серии тестов, в рамках одного типа документов
- Количество строк в документе – информационный указатель, сообщающий о «массивности» тестового документа, что влияет на время обработки и нагрузку на ресурсы
Методика тестирования
Тесты выполняются в 3 итерациях, результаты записываются в таблицу. Таким образом, полученные итоги тестирования, измеряемые в секундах, наиболее реалистично и объективно отражают уровень производительности баз 1С в условиях, максимально приближенных к реальным (см. таблицу 2).
Таблица 1. Технические характеристики тестового стенда.
| Роль системы | CPUvCPU | RAM, Гб | Дисковая система вводавывода |
| Сервер 1С + СУБД | Intel Xeon E5-2667 v4 8 ядер | 30 Гб | Intel SSD Raid10 |
| Программное обеспечение |
| ||
| Конфигурации 1С |
| ||
Результаты тестирования
Таблица 2.1. Результаты тестирования с помощью теста Гилева (TPC-1C).
| Показатели теста Гилева Версия SQL | Sql 2012 | Sql 2014 | Sql 2019 |
| Итерация 1 | 21,74 | 17,24 | 26,46 |
| Итерация 2 | 18,94 | 17,30 | 23,04 |
| Итерация 3 | 19,53 | 17,30 | 20,49 |
| Среднее значение | 20,07 | 17,28 | 23,33 |
Таблица 2.2. Результаты тестирования с помощью специального теста 1С:КИП.
| Перечень тестов на 50 пользователей (средний результат по итогам 3 итераций) | SQL 2012 | SQL 2014 | SQL 2019 |
| Проведение тестов 1С:КИП на существующей базе, конфигурация Бухгалтерия Предприятия | |||
| Оборотно сальдовая ведомость | 3,478 | 3,862 | 2,776 |
| Проведение возврата товаров от покупателей | 0,844 | 0,859 | 0,854 |
| Проведение платежных поручений | 0,110 | 0,147 | 0,262 |
| Проведение ПТИУ | 0,691 | 1,027 | 0,674 |
| Проведение реалиизации товаров и услуг | 0,801 | 0,786 | 0,885 |
| Проведение счета на оплату | 0,081 | 0,086 | 0,119 |
| Расчет калькуляций себестоимости | 0,688 | 0,674 | 0,679 |
| Проведение тестов 1С:КИП на существующей базе, конфигурация Управление Торговлей | |||
| Проведение и возврат от клиента | 2,817 | 3,182 | 3,089 |
| Проведение и возврат товаров поставщику | 2,751 | 2,423 | 11,949 |
| Проведение заказа клиента | 0,522 | 0,622 | 0,469 |
| Проведение пересчета товаров | 0,222 | 0,281 | 0,181 |
| Проведение поступления ТУ | 1,957 | 2,300 | 2,118 |
| Проведение реализации ТУ | 2,670 | 2,554 | 1,916 |
| Проведение РКО | 0,914 | 1,191 | 0,898 |


По самим тестам есть вопросы.
Intel SSD RAID-10 – софтовый/аппаратный? На чем (контроллер)? Без RAID результаты аналогичные?
Были ли обращения к дискам после первой итерации?
Цифры гилева вызывают вопрос — кэш не прогревался, адекватные результаты начались на 3ей итерации?
(В таблице КИП аналогичные вопросы вызывают некоторые строки, где разрыв в 3 раза)
Все базы одновременно запущены на одном сервере? Всем ли хватило памяти, происходили ли внутренние оптимизации 1с/SQL из-за нехватки памяти, уходила ли сама система в своп?
Тест везде был однопоточный (один пользователь)?
При хотя бы 10 пользователях тесты подтверждают выводы поста?
(Т.е. то, что SQL 2014/2019 не дают плюсов при многозадачности)
Добрый день!
1) Использовался аппаратный RAID, без RAID тестов не было
2) Были ли обращения к дискам после первой итерации – вопрос не совсем понятен. Каждый тест вызывался роботом последовательно, других посторонних обращений к дискам не было
3) Перед первой итерацией – тест Гилева запускался 3 раза
КИП не запускался перед тестированием.
4) Базы запускались по очереди на одном сервере, памяти хватило всем.
5) Тест везде был “одновременно 50 пользователей”
6) Тесты производились только на 50 пользователей.