В предыдущей статье мы проводили серию специальных тестов методом синтетической генерации нагрузки и имитации работы пользователей в 1С для сравнения производительности двух систем СУБД – MS SQL и PostgreSQL. Серии специальных тестов выполнялись для получения практических доказательств – на какой операционной системе базировать сервер 1С и какому СУБД доверить обработку баз 1С.
По результатам тестирования мы пришли к выводу, что при соответствующей настройке 1С и СУБД, можно добиться впечатляющих результатов даже на свободно распространяемом программном обеспечении, т.к. PostgreSQL показал более качественный результат по ряду операций в 1С.
На текущий момент мы предлагаем возможность провести бесплатный тест производительности базы 1С в нашем эталонном облаке.
Тестовый стенд
Целью написания второй части статьи является желание сравнить производительности платформ MS SQL и PostgreSQL на большем количестве одновременно работающих пользователей 1С – 50, 100 и 200 одновременных сеансов. В качестве тестируемых систем мы взяли два ТОП варианта архитектуры с обеих СУБД, показавших лидерство в тестах предыдущей статьи:
- MS Server – сервер 1С:Предприятие + MS SQL (протокол SharedMemory)
- Linux – сервер 1С:Предприятие + сервер PostgreSQL (протокол TCP-IP)
Таблица 1. Параметры тестового стенда
№пп | Роль системы | CPUvCPU | Гб | Дисковая система вводавывода |
1 | Сервера терминалов – виртуальная машина для запуска агентов, имитаторов сессий пользователей 1С (по рекомендации 1С:Тест Центр- требуется выделить отдельный сервер терминалов для каждых 50 сеансов клиентов 1С) | 4 ядра 2.9 GHz |
16 Гб | Intel Sata SSD Raid1 |
2 | Сервер 1С + СУБД аппаратный | Intel Xeon E5-2690 8 ядер |
96 Гб | Intel Sata SSD Raid1 |
3 | Программное обеспечение |
|
||
4 | Конфигурации 1С |
|
Тест-центр – инструмент проведения многопользовательских нагрузочных испытаний систем на базе 1С:Предприятие 8 (см. рисунок 1). С его помощью можно моделировать работу компании без участия реальных пользователей, что позволяет оценивать применимость, производительность и масштабируемость информационной системы в реальных условиях. Система представляет собой конфигурацию, предоставляющую механизм управления процессом тестирования. Для тестирования информационной базы необходимо интегрировать конфигурацию Тест-центра в конфигурацию тестируемой базы при помощи сравнения и объединения конфигураций. В результате объединения, к метаданным тестируемой базы будут добавлены объекты и общие модули, необходимые для работы Тест-центра. Таким образом, используя инструментарий 1С: КИП, на основании имеющихся данных в реальных производственных баз 1С, программист формирует полноценный автоматический сценарий тестирования, основанный на перечне документов и справочников, ключевых для данного типа конфигурации (заявка на расходование средств, заказ поставщику, реализация товаров и услуг и т.д.). При запуске сценария Тест-центр будет автоматически воспроизводить многопользовательскую деятельность, описанную в сценарии. Для этого Тест-центр создаст необходимое количество виртуальных пользователей (в соответствии со списком ролей) и запустит выполнение действий.
Рисунок 1 – Тест-центр
Как было указано в первой статье, при настройке сценариев тестирования для достоверной имитации одновременной работы большого количества пользователей задаются определенные параметры тестирования для каждого типа документа:
- Документ – указывает конкретный документ в рабочей базе, на основе которого будет производиться нагрузочное тестирование
- Приоритет запуска – формирует порядок запуска тестов для каждого типа документов
- Количество документов – определяет объем формируемых тестовых документов
- Пауза, секунд – задержка при запуске серии тестов, в рамках одного типа документов
- Количество строк в документе – информационный указатель, сообщающий о «массивности» тестового документа, что влияет на время обработки и нагрузку на ресурсы
Тесты выполняются в 3 итерациях, результаты записываются в таблицу. Таким образом, полученные итоги тестирования, измеряемые в секундах, наиболее реалистично и объективно отображают уровень производительности баз 1С в условиях, максимально приближенных к реальным.
Результаты тестирования 1С
Таблица 2. Результаты тестирования на 50 виртуальных пользователей.
Операционная система Microsoft Server | Операционная система класса Unix | |
Перечень тестов (среднее значение по итогам серии из 3 тестов) | Сервер 1С+СУБД, протокол SharedMemory | Отдельные сервисы 1С и СУБД, протокол TCP-IP |
Проведение тестов APDEX 1С:КИП на существующей базе, конфигурация Бухгалтерия Предприятия | ||
Проведение возврата товаров от покупателей | 2,818 | 0,744 |
Проведение платежных поручений | 0,058 | 0,051 |
Проведение ПТИУ | 2,576 | 0,765 |
Проведение реалиизации товаров и услуг | 2,454 | 0,725 |
Проведение счета на оплату | 0,065 | 0,038 |
Проведение тестов APDEX 1С:КИП на существующей базе,конфигурация Управление Торговлей | ||
Проведение и возврат от клиента | 2,372 | 3,296 |
Проведение и возврат товаров поставщику | 1,431 | 1,063 |
Проведение заказа клиента | 0,501 | 0,589 |
Проведение пересчета товаров | 0,134 | 0,099 |
Проведение поступления ТУ | 1,575 | 1,220 |
Проведение реализации ТУ | 1,426 | 1,322 |
Проведение РКО | 0,707 | 0,747 |
Таблица 3. Результаты тестирования на 100 виртуальных пользователей
Операционная система Microsoft Server | Операционная система класса Unix | |
Перечень тестов (среднее значение по итогам серии из 3 тестов) | Сервер 1С+СУБД, протокол SharedMemory | Отдельные сервисы 1С и СУБД, протокол TCP-IP |
Проведение тестов APDEX 1С:КИП на существующей базе, конфигурация Бухгалтерия Предприятия | ||
Проведение возврата товаров от покупателей | 2,726 | 0,725 |
Проведение платежных поручений | 0,059 | 0,057 |
Проведение ПТИУ | 2,496 | 1,251 |
Проведение реалиизации товаров и услуг | 2,393 | 1,198 |
Проведение счета на оплату | 0,056 | 0,049 |
Проведение тестов APDEX 1С:КИП на существующей базе,конфигурация Управление Торговлей | ||
Проведение и возврат от клиента | 2,788 | 3,818 |
Проведение и возврат товаров поставщику | 1,599 | 1,232 |
Проведение заказа клиента | 0,595 | 0,612 |
Проведение пересчета товаров | 0,135 | 0,099 |
Проведение поступления ТУ | 1,717 | 1,299 |
Проведение реализации ТУ | 1,523 | 1,477 |
Проведение РКО | 0,708 | 0,769 |
Таблица 4. Результаты тестирования на 200 виртуальных пользователей
Операционная система Microsoft Server | Операционная система класса Unix | |
Перечень тестов (среднее значение по итогам серии из 3 тестов) | Сервер 1С+СУБД, протокол SharedMemory | Отдельные сервисы 1С и СУБД, протокол TCP-IP |
Проведение тестов APDEX 1С:КИП на существующей базе, конфигурация Бухгалтерия Предприятия | ||
Проведение возврата товаров от покупателей | 2,786 | 0,738 |
Проведение платежных поручений | 0,083 | 0,066 |
Проведение ПТИУ | 2,701 | 1,885 |
Проведение реалиизации товаров и услуг | 2,573 | 1,590 |
Проведение счета на оплату | 0,051 | 0,046 |
Проведение тестов APDEX 1С:КИП на существующей базе,конфигурация Управление Торговлей | ||
Проведение и возврат от клиента | 3,487 | 5,065 |
Проведение и возврат товаров поставщику | 2,110 | 1,832 |
Проведение заказа клиента | 0,746 | 0,688 |
Проведение пересчета товаров | 0,163 | 0,111 |
Проведение поступления ТУ | 2,085 | 1,513 |
Проведение реализации ТУ | 1,926 | 1,910 |
Проведение РКО | 0,845 | 0,847 |
Выводы
Проведем сравнение общих результатов:
- В конфигурации Бухгалтерия Предприятия (БП) безусловным лидером является платформа Unix (Postgress), базированная на отдельном сервисе 1С:Предприятие и СУБД в пределах одного физического сервера, работающим между собой по протоколу TCP-IP. Мы думаем, что это связано с особенностями формирования таблиц в каждой из двух СУБД в зависимости от типа документа и, соответственно -формы запроса с сервера 1С:Предприятия.
- В конфигурации Управление Торговлей (УТ) с натяжкой можно сказать, что позиции лидера поровну поделили обе платформы, каждая в проведении определенных типов документов.
Вывод, который был указан в предыдущей статье – можно смело повторить: «При соответствующей профессиональной настройке оборудования и свободно распространяемого программного обеспечения Unix и Postgress – результаты производительности могут быть оптимальными даже при большом количестве одновременно работающих сессий 1С, например, при работе 200 пользователей.»