Участники тестирования
Операционная система MS Server и СУБД MS SQL
- Фирма 1С открыто позиционирует эту связку как основную рабочую модель, соответственно продукты 1С создаются в первую очередь для нее
- Наличие протокола прямого скоростного обмена информацией SharedMemory
- Есть официальная техническая поддержка и сервисные контракты
- Есть база знаний и тонны информации по инсталляции и тонкой настройке 1C+MS SQL
Операционная система Unix и СУБД PostgreSQL
- Система полностью бесплатна (кроме лицензии на сервер 1С:Предприятие)
- Имеется возможность гибкой настройки множества параметров, улучшающих работоспособность СУБД
- Заявлена поддержка СУБД PostgreSQL продуктами 1С
- Есть возможность репликации баз
Методы тестирования
В наших испытаниях мы будем опираться на два метода синтетической генерации нагрузки и имитации работы пользователей в 1С. Это тест Гилева (TPC-1C) и специальный тест 1С «Тест центр» из инструментария 1С:КИП со специальными сценариями работы пользователей.Тест Гилева (TPC-1C)
Тест Гилева принадлежит к разделу универсальных кроссплатформенных нагрузочных тестов. Он может использоваться как для файловой, так и для клиент-серверной архитектуры 1С:Предприятие. Тест измеряет количество работы в единицу времени в одном потоке и подходит для оценки скорости работы однопоточных нагрузок, включая скорость прорисовки интерфейса, влияния ресурсных затрат, перепроведения документов, процедур закрытия месяца, расчета зарплаты и т.п. Универсальность позволяет делать суммарную оценку производительности, не привязываясь к одной конфигурации платформы. Результатом теста является тотальная оценка измеряемой системы 1С, выраженная в условных единицах.Специализированный тест из инструментария «Тест центр» 1С: КИП
Тест-центр – инструмент проведения многопользовательских нагрузочных испытаний систем на базе 1С:Предприятие 8 (см. рисунок 1). С его помощью можно моделировать работу компании без участия реальных пользователей, что позволяет оценивать применимость, производительность и масштабируемость информационной системы в реальных условиях. Система представляет собой конфигурацию, предоставляющую механизм управления процессом тестирования. Для тестирования информационной базы необходимо интегрировать конфигурацию Тест-центра в конфигурацию тестируемой базы при помощи сравнения и объединения конфигураций. В результате объединения, к метаданным тестируемой базы будут добавлены объекты и общие модули, необходимые для работы Тест-центра.Рисунок 1 – Схема работы «Тест центр» 1С: КИП
Таким образом, используя инструментарий 1С: КИП, на основании имеющихся данных в реальных производственных баз 1С – программист формирует полноценный автоматический сценарий тестирования, основанный на перечне документов и справочников, ключевых для данного типа конфигурации (заявка на расходование средств, заказ поставщику, реализация товаров и услуг и т.д.). При запуске сценария Тест-центр будет автоматически воспроизводить многопользовательскую деятельность, описанную в сценарии. Для этого Тест-центр создаст необходимое количество виртуальных пользователей (в соответствии со списком ролей) и запустит выполнение действий.
Параметры тестирования
При настройке сценариев тестирования для достоверной имитации одновременной работы большого количества пользователей задаются определенные параметры тестирования для каждого типа документа (см. таблицу 1):- Документ – указывает конкретный документ в рабочей базе, на основе которого будет производиться нагрузочное тестирование
- Приоритет запуска – формирует порядок запуска тестов для каждого типа документов
- Количество документов – определяет объем формируемых тестовых документов
- Пауза, секунд – задержка при запуске серии тестов, в рамках одного типа документов
- Количество строк в документе – информационный указатель, сообщающий о «массивности» тестового документа, что влияет на время обработки и нагрузку на ресурсы
Таблица 1. Параметры тестовых сценариев
Документ | Приоритет запуска | Количество документов | Пауза, секунд | Количество строк в документе | |
Роль 1 | Счет покупателю | 1 | 25 | 51 | 62 |
Поступление товаров | 2 | 25 | 80 | ||
Реализация товаров | 3 | 25 | 103 | ||
Платежные поручения | 4 | 25 | 1 | ||
Возвраты покупателя | 5 | 25 | 82 | ||
Роль 2 | Счет покупателю | 5 | 10 | 65 | 79 |
Поступление товаров | 1 | 22 | 80 | ||
Реализация товаров | 2 | 25 | 103 | ||
Платежные поручения | 3 | 25 | 1 | ||
Возвраты покупателя | 4 | 25 | 75 | ||
Роль 3 | Счет покупателю | 4 | 15 | 45 | 76 |
Поступление товаров | 5 | 26 | 80 | ||
Реализация товаров | 1 | 52 | 103 | ||
Платежные поручения | 2 | 26 | 1 | ||
Возвраты покупателя | 3 | 32 | 90 | ||
Роль 4 | Счет покупателю | 3 | 45 | 38 | 70 |
Поступление товаров | 4 | 30 | 80 | ||
Реализация товаров | 5 | 30 | 103 | ||
Платежные поручения | 1 | 20 | 1 | ||
Возвраты покупателя | 2 | 20 | 86 | ||
Роль 5 | Счет покупателю | 2 | 30 | 73 | 76 |
Поступление товаров | 3 | 30 | 80 | ||
Реализация товаров | 4 | 30 | 103 | ||
Платежные поручения | 5 | 18 | 1 | ||
Возвраты покупателя | 1 | 18 | 91 | ||
Роль 6 | Счет покупателю | 1 | 40 | 35 | 86 |
Поступление товаров | 2 | 40 | 80 | ||
Реализация товаров | 3 | 40 | 103 | ||
Платежные поручения | 4 | 40 | 1 | ||
Возвраты покупателя | 5 | 40 | 88 | ||
Роль 7 | Счет покупателю | 5 | 25 | 68 | 80 |
Поступление товаров | 1 | 25 | 80 | ||
Реализация товаров | 2 | 25 | 103 | ||
Платежные поручения | 3 | 25 | 1 | ||
Возвраты покупателя | 4 | 25 | 90 | ||
Роль 8 | Счет покупателю | 3 | 25 | 62 | 87 |
Поступление товаров | 4 | 25 | 80 | ||
Реализация товаров | 5 | 25 | 103 | ||
Платежные поручения | 1 | 25 | 1 | ||
Возвраты покупателя | 2 | 25 | 92 | ||
Роль 9 | Счет покупателю | 2 | 20 | 82 | 82 |
Поступление товаров | 4 | 20 | 80 | ||
Реализация товаров | 5 | 20 | 103 | ||
Платежные поручения | 1 | 20 | 1 | ||
Возвраты покупателя | 3 | 20 | 98 | ||
Роль 10 | Счет покупателю | 4 | 50 | 2 | 92 |
Поступление товаров | 1 | 50 | 80 | ||
Реализация товаров | 2 | 50 | 103 | ||
Платежные поручения | 5 | 50 | 1 | ||
Возвраты покупателя | 3 | 50 | 98 |
Таблица 2. Технические характеристики тестового стенда
№пп | Роль системы | CPUvCPU | RAM, Гб | Дисковая система вводавывода |
1 | Сервер терминалов – виртуальная машина для управления тестами | 4 ядра 2.9 GHz | 16 Гб | Intel Sata SSD Raid1 |
2 | Сценарий 1. Сервер 1С + СУБД аппаратный | Intel Xeon E5-2690 16 ядер | 96 Гб | Intel Sata SSD Raid1 |
3 | Сценарий 2. Сервер 1С + СУБД виртуальные | 16 ядер 2.9 GHz | 64 Гб | Intel Sata SSD Raid1 |
4 | Сценарий 3. Сервер 1С виртуальный | 16 ядер 2.9 GHz | 32 Гб | Intel Sata SSD Raid1 |
5 | Сценарий 4. Сервер СУБД виртуальный | 16 ядер 2.9 GHz | 32 Гб | Intel Sata SSD Raid1 |
6 | Программное обеспечение |
|
||
7 | Конфигурации 1С |
|
Таблица 3.1 Результаты тестирования с помощью теста Гилева (TPC-1C). Оптимальным считается наибольшее значение
Операционная система Microsoft Server | Операционная система класса Unix | |||||
Перечень тестов (среднее значение по итогам серии из 3 тестов) | Аппаратный сервер 1С+СУБД, протокол SharedMemory | Виртуальный сервер 1С+СУБД, протокол SharedMemory | Аппаратный сервер 1С и аппаратный сервер СУБД, протокол TCP-IP | Виртуальный сервер 1С и виртуальный сервер СУБД, протокол TCP-IP | Отдельный сервер 1С и аппаратный сервер СУБД, протокол TCP-IP | Отдельный сервер 1С и виртуальный сервер СУБД, протокол TCP-IP |
Проведение тестов Гилева | 29,47 ед. | 27,897 ед. | 28,520 ед. | 24,153 ед. | 32,263 ед. | 24,591 ед. |
Таблица 3.2 Результаты тестирования с помощью специального теста 1С:КИП. Оптимальным считается наименьшее значение
Операционная система Microsoft Server | Операционная система класса Unix | |||||
Перечень тестов (среднее значение по итогам серии из 3 тестов) | Аппаратный сервер 1С+СУБД, протокол SharedMemory | Виртуальный сервер 1С+СУБД, протокол SharedMemory | Аппаратный сервер 1С и аппаратный сервер СУБД, протокол TCP-IP | Виртуальный сервер 1С и виртуальный сервер СУБД, протокол TCP-IP | Аппаратный сервер 1С и аппаратный сервер СУБД, протокол TCP-IP | Аппаратный сервер 1С и виртуальный сервер СУБД, протокол TCP-IP |
Проведение тестов 1С:КИП на существующей базе, конфигурация Бухгалтерия Предприятия | ||||||
Оборотно сальдовая ведомость | 1,741 сек | 2,473 сек | 2,873 сек | 2,522 сек | 13,866 сек | 9,751 сек |
Проведение возврата товаров от покупателей | 0,695 сек | 0,775 сек | 0,756 сек | 0,781 сек | 0,499 сек | 0,719 сек |
Проведение платежных поручений | 0,048 сек | 0,058 сек | 0,063 сек | 0,064 сек | 0,037 сек | 0,065 сек |
Проведение ПТИУ | 0,454 сек | 0,548 сек | 0,535 сек | 0,556 сек | 0,362 сек | 0,568 сек |
Проведение реалиизации товаров и услуг | 0,667 сек | 0,759 сек | 0,747 сек | 0,879 сек | 0,544 сек | 0,802 сек |
Проведение счета на оплату | 0,028 сек | 0,037 сек | 0,037 сек | 0,038 сек | 0,026 сек | 0,038 сек |
Расчет калькуляций себестоимости | 3,071 сек | 3,657 сек | 4,094 сек | 3,768 сек | 15,175 сек | 10,68 сек |
Проведение тестов 1С:КИП на существующей базе, конфигурация Управление Торговлей | ||||||
Проведение и возврат от клиента | 2,192 сек | 2,113 сек | 2,070 сек | 2,418 сек | 1,417 сек | 1,494 сек |
Проведение и возврат товаров поставщику | 1,446 сек | 1,410 сек | 1,359 сек | 1,467 сек | 0,790 сек | 0,849 сек |
Проведение заказа клиента | 0,355 сек | 0,344 сек | 0,335 сек | 0,361 сек | 0,297 сек | 0,299 сек |
Проведение пересчета товаров | 0,140 сек | 0,134 сек | 0,131 сек | 0,144 сек | 0,100 сек | 0,097 сек |
Проведение поступления ТУ | 1,499 сек | 1,438 сек | 1,412 сек | 1,524 сек | 1,097 сек | 1,189 сек |
Проведение реализации ТУ | 1,390 сек | 1,355 сек | 1,308 сек | 1,426 сек | 1,093 сек | 1,114 сек |
Проведение РКО | 0,759 сек | 0,729 сек | 0,713 сек | 0,759 сек | 0,748 сек | 0,735 сек |
Выводы и рекомендации авторов:
- В специальном тесте 1С операции «чтения данных и сложных вычислений», такие как «Оборотно-сальдовая ведомость» и «Расчет калькуляций себестоимости» в несколько раз быстрее выполняются на СУБД MS SQL от Microsoft.
- При операциях «записи данных и проведения документов» в большинстве тестов лучший результат показывает СУБД PostgreSQL, оптимизированный для 1С.
- Синтетический тест Гилева также показывает преимущество PostgreSQL. Связан данный факт с тем, что синтетический тест основан на измерении скорости создания и проведения определенных типов документов, что считается также операциями «записи данных и проведения документов».
Закончим с кроссплатформенным сравнением, перейдем к сравнениям внутри каждой системы:
- Ожидаемо, тесты 1С на аппаратной платформе показывают результаты лучше, чем на виртуальной. Разница в результатах специального теста 1С в обоих случаях невелика, что свидетельствует о постепенной оптимизации производителями виртуальных гипервизоров.
- Также ожидаемо, что использование технологии разделяемой памяти (SharedMemory) ускоряет процесс обмена данными между сервером 1С и СУБД. Соответственно, показания тестов немного лучше, чем у схемы с сетевым взаимодействием этих двух сервисов посредством протокола TCP-IP.
Можно сделать вывод, что при верной настройке 1С и СУБД, можно добиться значительных результатов даже на бесплатном программном обеспечении. Поэтому при проектировке новой ИТ-структуры для 1С требуется учитывать уровень нагрузки на систему, тип превалирующих операций в базе, имеющийся бюджет, наличие специалиста по нестандартным СУБД, необходимость интеграции с внешними сервисами и т.д. Исходя из этих данных, уже можно подбирать требуемое решение.
Читайте продолжение тестирования здесь. На текущий момент мы предлагаем возможность провести бесплатный тест производительности базы 1С в нашем эталонном облаке.