Тест производительности 1с 8.2 от гилева. Стандартный нагрузочный тест. Как опубликовать результаты теста

  • 08.03.2024

Продукты по бухгалтерскому и управленческому учету компании 1С наиболее распространены на территории РФ. Тысячи компаний ведут свой бизнес, опираясь на типовые и специализированные конфигурации 1С. При таком массовом использовании, регулярно возникает ряд вопросов по оптимизации бюджета на ПО и разумному использованию ресурсов. Не утихают споры вокруг серверных частей данного комплекса, в частности – на какой операционной системе базировать сервер 1С и какой СУБД доверить обработку баз 1С. В ходе наших тестов мы постараемся ответить на эти вопросы.

Участники тестирования

Операционная система MS Server и СУБД MS SQL

  • Фирма 1С открыто позиционирует эту связку как основную рабочую модель, соответственно продукты 1С создаются в первую очередь для нее
  • Наличие протокола прямого скоростного обмена информацией SharedMemory
  • Есть официальная техническая поддержка и сервисные контракты
  • Есть база знаний и тонны информации по инсталляции и тонкой настройке 1C+MS SQL

Операционная система Unix и СУБД PostgreSQL

  • Система полностью бесплатна (кроме лицензии на сервер 1С:Предприятие)
  • Имеется возможность гибкой настройки множества параметров, улучшающих работоспособность СУБД
  • Заявлена поддержка СУБД PostgreSQL продуктами 1С
  • Есть возможность репликации баз

Конечно же, стоимость проекта, отказоустойчивость и техническая поддержка являются важными критериями при выборе информационной системы для 1С. Однако, есть фактор, в большинстве случаев кардинально влияющий на принятие решения – это быстродействие.

Поскольку технической литературы по этим двум системам на просторах Интернета просто великое множество, можно было бы долго спорить о длинных сравнительных таблицах, которые, в зависимости от целей, подчеркивают выгоды того или иного продукта. Дискутировать можно о том или ином параметре среди сотен других таких же - насколько он уникален в своем роде и как он влияет на достижение результата. Но теория без практики мертва – предлагаем в этой статье опустить теорию и перейти непосредственно к фактам, чтобы именно на практике проверить быстродействие обеих информационных систем с определенным уровнем рекомендуемых настроек и в различных вариантах серверной архитектуры (см. таблицу 2).

Методы тестирования

В наших испытаниях мы будем опираться на два метода синтетической генерации нагрузки и имитации работы пользователей в 1С. Это тест Гилева (TPC-1C) и специальный тест 1С «Тест центр» из инструментария 1С:КИП со специальными сценариями работы пользователей.

Тест Гилева (TPC-1C)

Тест Гилева принадлежит к разделу универсальных кроссплатформенных нагрузочных тестов. Он может использоваться как для файловой, так и для клиент-серверной архитектуры 1С:Предприятие. Тест измеряет количество работы в единицу времени в одном потоке и подходит для оценки скорости работы однопоточных нагрузок, включая скорость прорисовки интерфейса, влияния ресурсных затрат, перепроведения документов, процедур закрытия месяца, расчета зарплаты и т.п. Универсальность позволяет делать суммарную оценку производительности, не привязываясь к одной конфигурации платформы. Результатом теста является тотальная оценка измеряемой системы 1С, выраженная в условных единицах.

Специализированный тест из инструментария «Тест центр» 1С: КИП

Тест-центр – инструмент проведения многопользовательских нагрузочных испытаний систем на базе 1С:Предприятие 8 (см. рисунок 1). С его помощью можно моделировать работу компании без участия реальных пользователей, что позволяет оценивать применимость, производительность и масштабируемость информационной системы в реальных условиях. Система представляет собой конфигурацию, предоставляющую механизм управления процессом тестирования. Для тестирования информационной базы необходимо интегрировать конфигурацию Тест-центра в конфигурацию тестируемой базы при помощи сравнения и объединения конфигураций. В результате объединения, к метаданным тестируемой базы будут добавлены объекты и общие модули, необходимые для работы Тест-центра.

Рисунок 1 - Схема работы «Тест центр» 1С: КИП

Таким образом, используя инструментарий 1С: КИП, на основании имеющихся данных в реальных производственных баз 1С - программист формирует полноценный автоматический сценарий тестирования, основанный на перечне документов и справочников, ключевых для данного типа конфигурации (заявка на расходование средств, заказ поставщику, реализация товаров и услуг и т.д.). При запуске сценария Тест-центр будет автоматически воспроизводить многопользовательскую деятельность, описанную в сценарии. Для этого Тест-центр создаст необходимое количество виртуальных пользователей (в соответствии со списком ролей) и запустит выполнение действий.

Параметры тестирования

При настройке сценариев тестирования для достоверной имитации одновременной работы большого количества пользователей задаются определенные параметры тестирования для каждого типа документа (см. таблицу 1):

  • Документ – указывает конкретный документ в рабочей базе, на основе которого будет производиться нагрузочное тестирование
  • Приоритет запуска – формирует порядок запуска тестов для каждого типа документов
  • Количество документов – определяет объем формируемых тестовых документов
  • Пауза, секунд – задержка при запуске серии тестов, в рамках одного типа документов
  • Количество строк в документе – информационный указатель, сообщающий о «массивности» тестового документа, что влияет на время обработки и нагрузку на ресурсы

Тесты выполняются в 3 итерациях, результаты записываются в таблицу. Таким образом, полученные итоги тестирования, измеряемые в секундах, наиболее реалистично и объективно отображают уровень производительности баз 1С в условиях, максимально приближенных к реальным (см. таблицу 3.1 и 3.2).

Таблица 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. Технические характеристики тестового стенда

№п\п Роль системы CPU\vCPU 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 Программное обеспечение
  • Microsoft Windows Server 2016 DataCenter
  • Microsoft Windows Server 2016 Standart
  • Microsoft SQL Server 2016 SP1 (13.0.4001.0)
  • Гипервизор Hyper-V
  • Сервер 1C:Предприятие 8.3.10.2667
  • CentOS 7.4.1708 (x64)
  • PostgreSQL 9.6.5+Patch PostgreSQL 9.6.5-4.1C
7 Конфигурации 1С
  • Однопоточный синтетический тест платформы 1С:Предприятие + Многопоточный тест записи на диск (2.1.0.7) Гилёв Вячеслав Валерьевич
  • Размер 0,072 Гб
  • Конфигурация: Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.52.39)
  • Приложение: Тонкий клиент
  • Вариант интерфейса: Такси
  • Размер 9,2 Гб
  • Платформа: 1С:Предприятие 8.3 (8.3.10.2667)
  • Конфигурация: Управление торговлей, редакция 11 (11.3.4.21)
  • Режим: Серверный (сжатие: усиленное)
  • Приложение: Тонкий клиент
  • Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
  • Вариант интерфейса: Такси
  • Размер 11,8 Гб

Таблица 3.1 Результаты тестирования с помощью теста Гилева (TPC-1C). Оптимальным считается наибольшее значение

Таблица 3.2 Результаты тестирования с помощью специального теста 1С:КИП. Оптимальным считается наименьшее значение

Операционная система Microsoft Server Операционная система класса Unix
Перечень тестов (среднее значение по итогам серии из 3 тестов) Аппаратный сервер 1С+СУБД, протокол SharedMemory Виртуальный сервер 1С+СУБД, протокол SharedMemory Аппаратный сервер 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. В специальном тесте 1С операции «чтения данных и сложных вычислений», такие как «Оборотно-сальдовая ведомость» и «Расчет калькуляций себестоимости» в несколько раз быстрее выполняются на СУБД MS SQL от Microsoft.
  2. При операциях «записи данных и проведения документов» в большинстве тестов лучший результат показывает СУБД PostgreSQL, оптимизированный для 1С.
  3. Синтетический тест Гилева также показывает преимущество PostgreSQL. Связан данный факт с тем, что синтетический тест основан на измерении скорости создания и проведения определенных типов документов, что считается также операциями «записи данных и проведения документов».

Закончим с кроссплатформенным сравнением, перейдем к сравнениям внутри каждой системы:

  1. Ожидаемо, тесты 1С на аппаратной платформе показывают результаты лучше, чем на виртуальной. Разница в результатах специального теста 1С в обоих случаях невелика, что свидетельствует о постепенной оптимизации производителями виртуальных гипервизоров.
  2. Также ожидаемо, что использование технологии разделяемой памяти (SharedMemory) ускоряет процесс обмена данными между сервером 1С и СУБД. Соответственно, показания тестов немного лучше, чем у схемы с сетевым взаимодействием этих двух сервисов посредством протокола TCP-IP.

Можно сделать вывод, что при верной настройке 1С и СУБД, можно добиться значительных результатов даже на бесплатном программном обеспечении. Поэтому при проектировке новой ИТ-структуры для 1С требуется учитывать уровень нагрузки на систему, тип превалирующих операций в базе, имеющийся бюджет, наличие специалиста по нестандартным СУБД, необходимость интеграции с внешними сервисами и т.д. Исходя из этих данных, уже можно подбирать требуемое решение.

Читайте продолжение тестирования .

Компьютеры(условное название) участвовавшие в тестах - описание (диски указаны только для БД):

(уточнение между серверами сеть 1 Гбит )

1) IT33 - десктоп на Core i5 4 ядра по 2.8 Ггц, DDR3 3 ГБ , один жесткий диск 7200 об/с .

2) REAL - САМЫЙ МОЩНЫЙ как мне думалось)) 8 ядер Xeon по 3 Ггц , DDR2 48 Гб , RAID10 на SSD

3) REAL2 - 8 ядер Xeon по 2 Ггц, DDR2 22 ГБ , RAID10 на жестких дисках SAS 10 000 об/с

Были проведены тесты в конфигурации 1с от Гилева:

"Сервер SQL"--->"Сервер 1с"--->"Оценка" + "Имя клиентского компьютера(если не указан то Он Же - певый в списке)"

>1)REAL2--->REAL2--->25.64(TCP--SQL)
>2)REAL2--->REAL2--->26.32(SQL--Shared Memory)

>3)REAL2--->REAL2--->25.64(SQL--Shared Memory) + IT33(клиент) - от клиента до Серверов сеть=10 Мбит

>4 )REAL2--->REAL2--->24.27(SQL--Shared Memory) + REAL(клиент) - хм.. странно сеть 1 Гбит... почему же меньше попугаев..
>5)REAL2--->REAL2--->37.59(Файловый)

** **** **************************
>1)REAL--->REAL--->8.73(TCP--SQL)

>2)REAL--->Real2 --->11.99(TCP--SQL) --- это уже начало меня наводить на некоторые мысли))

>3)REAL--->REAL--->17.48(Файловый)

** **** ******************************

>1)IT33--->IT33--->26.88(TCP--SQL)
>2)IT33--->IT33--->34.72(SQL--Shared Memory)
>3)IT33--->IT33--->59.52(Файловый)

Итоги:

Смотрел результаты теста... крутил и так и сяк)) и вот осенило (сделал замеры скорости работы Оперативной памяти),

что на скорость работы 1с 8.х (замечу что Результаты Теста основаны на ОДНОПОЛЬЗОВАТЕЛЬСКОМ режиме, но и для клиент-серверного варианта при многопользовательской работе - думаю также будут иметь немалую долю влияния) -

итак на скорость 1С влияет: частота шины CPU + частота RAM памяти

----> что влияет на скорости ЗАПИСИ и ЧТЕНИЯ в RAM. Что и есть основа быстродействия 1с 8.х .

Компьютеры разделившие призовые места По скорости работы 1с))

1)IT33 --->IT33--->59.52(Файловый)

RAM DDR 3 (Чтение 11089 Мб/с, Запись 7047 Мб/с)------ как я и предпологал разница будет значительной с серверами

2)REAL2 --->REAL2--->37.59(Файловый)
- RAM DDR2 (Чтение=3474, Запись=2068)

3)REAL --->REAL--->17.48(Файловый)
- RAM DDR2 (Чтение=1737 Мб/с, Запись=1042 Мб/с) - как выяснилось скорость ниже чем на Real2 - ровно в 2 раза,

из за включенных Виртуальных ядер (Гипер-трейдинг)- будем скорее всего отключать.

ВЫВОДЫ:

Наибольшая скорость работы 1с 8.х достигается:

I) для Файлового варианта (мне лично неинтересен)

А)запуск Клиента(любого) на компьютере с большой скоростью работы с Оперативной памятью. (например Терминальный сервер

БД тамже).

II) для Клиент-Серверного варианта

1) Толстые клиенты 1C на "Терминальном сервере" - с +

2) Тонкие клиенты 1C - уже нет особой разницы где... но желательно настроить через "HTTP://".
3а) "SQL сервер" +"Сервер 1с предприятия" (в режиме Shared Memory) - на одной тачке сНаибольшей скоростью Запись/Чтение оперативки + Наибольшая частота Ггц Ядер процессора дисках

Уточнения:

- поддержка Shared Memory - появилась на движке начиная с 8.2.17 (ВНИМАНИЕ в конфигурации - не должен быть включен режим совместимости с предыдущими версиями движка), на предыдущих движках будет использоватся Naimed Pipes - тоже показывающий неплохие результаты))

- RAID на SSD дисках - целесообразно использование RAID10 - для отказоустойчивости, при этом беря в расчет ШРАФ на Запись:

пример RAID10 (4 шт Штраф записи=2) , Скорость Записи= 4/2 = 2 диска, Штрафа на чтение нет.

Еще можно дополнительно поднять надежность и стабильность скорости SSD - используя не весь объем диска.

пример(поднятие надежности Десктопного SSD до уровня Серверного SSD):

Если к примеру, SSD Intel 520 series 120GB, и разметить 81 GB, а остальное пространство оставить неразмеченным -

то под over provisioning будет выделено около 32% пространства SSD дополнительно к уже имеющимся скрытым 8%. Итого получаем около 40%

Отличие серверного SSD Intel 710 series от десктопного SSD Intel 320 series как раз и составляет разница в over provisioning: более 40% для Intel 710 и 8% Intel 320.

Если клиентов 1С много от 100 и далее:

1)На текущих технологиях сети Ethernet - НЕ ЦЕЛЕСООБРАЗНО ранесение "SQL""Сервер 1С" .

например из-за Латентности(задержек) в сети Gigabit Ethernet - реальная скорость обмена с SQL= 30 Мегабайт/с - что мало даже для интенсивной работы с Базой Данных 1-го пользователя.

2)Т.к. фактически "Сервер 1с"="Объектная СУБД" (многомерные объекты), а "SQL"="Реляционная СУБД" (плоское -табличное хранение данных)

=> в базе SQL -хранится ПЛОСКАЯ проекция Объектов 1С и Сервер 1С собирает из этой проекции Объект, далее проводит работы с этим Объектом и наконец по завершении работы Опять раскладывает в плоский вид сохраня в SQL.

То как следствие между "SQL""Сервер 1С" - и приходится отказыватся от разнесение на два физических сервера. Но можно использовать по полной реализацию NUMA-узлов. (Это должна поддерживать OS и сами процессоры ).


3б) Разносим сервера SQL и Сервера 1с отдельно : На текущих технологиях Ethernet - например Gigabit - НЕ ЦЕЛЕСООБРАЗНО
-SQL на сервер с Наибольшей скоростью Запись/Чтение оперативки + Наибольшая частота Ггц Ядер процессора
-Несколько ФИЗИЧЕСКИХ серверов в Кластере 1с c Наибольшей скоростью Запись/Чтение оперативки + Наибольшая частота Ггц Ядер процессора + желательно ипользование RAID на SSD- дисках

Обязательной операцией при любом внедрении или изменении существующей информационной системы является оценка необходимого быстродействия системы и планирование необходимых вычислительных ресурсов для ее реализации. В настоящее время не существует точного решения этой задачи в общем виде, и если, несмотря на ее сложность и стоимость, такой алгоритм будет предложен каким-либо производителем, то даже небольшие изменения в аппаратной части, версии программного обеспечения, конфигурации системы или количестве или стандартном поведении пользователей приведут к появлению значительных ошибок.

Тем не менее существует достаточное количество способов оценить необходимую для достижения требуемой производительности конфигурацию программного и аппаратного обеспечения. Все эти способы могут применяться в процессе выбора, но потребитель должен понимать их области применения и ограничения.

Большинство существующих методов оценки производительности основывается на том или ином типе тестирования .

Можно выделить два основных типа тестирования: компонентное и интегральное.

При компонентном тестировании проводится тестирование отдельных компонентов решения, начиная от производительности процессоров или подсистем хранения информации до тестирования производительности сервера в целом, но без полезной нагрузки в виде того или иного бизнес-приложения.

Интегральный подход характеризуется оценкой производительности решения в целом, как его программной, так и аппаратной частей. При этом может использоваться как бизнес-приложение, которое будет использовано в конечном решении, так и некоторые модельные приложения, эмулирующие некоторые стандартные бизнес-процессы и нагрузки.

Зеленый цвет графика в совокупности с некоторыми условно выбранными за эталоны показателями справа позволяет сделать кроссплатформенную обобщенную оценку «неплохой» производительности.

Как радоваться результатам теста

Вы получили в качестве результата некий индекс производительности (скорости). Не важно, хороший или плохой результат - это результат работы ПЛАТФОРМЫ на вашем «железе». В случае клиент - серверного варианта это результат сложной цепочки прохождения запросов по различным участкам. Вы получаете общий фактический результат, который определяется самым узким местом в системе. Узкое место есть всегда.

Другими словами, и настройки СУБД, и настройки ОС, и оборудование оказывают влияние на общий командный результат.

Какой сервер лучше

Данный тест, выполненный на конкретном сервере, дает результат по совокупности настроек hardware, операционной системы, субд и т.д. Тем не менее высокий результат на конкретном серверном оборудовании означает, что при соблюдении нормальных условий такой же результат будет на идентичном серверном оборудовании. Данный тест является бесплатной помощью в возможности сравнить установку 1С:Предприятие под Windows и Linux, три различных СУБД, поддерживаемых платформой 1С:Предприятие 8.

Безопасность теста

Тест абсолютно безопасен. Он не приводит к «падению» сервера (отсутствует «стресс»-алгоритм) и не требует предварительных мероприятий даже на «боевом» сервере. Конфиденциальных данных в результаты теста также не записываются. Собирается информация о параметрах CPU, RAM, HDD. Серийные номера устройств не собираются. Во всем этом можно легко убедиться - код теста 100% открыт. Никакой пересылки информации без вашего ведома невозможно.

Классификация TPC -A-local Throughput / TPC -1C-GILV-A

Тест относится к разделу универсальных интегральных кроссплатформенных тестов. Даже более того, он применим для файлового и клиент-серверного вариантов эксплуатации 1С:Предприятие. Тест работает для всех СУБД, поддерживаемых 1С.

Универсальность позволяет делать обобщенную оценку производительности не привязываясь к конкретной типовой конфигурации платформы.

С другой стороны это означает, что для точных расчетов заказного проекта тест позволяет сделать предварительную оценку перед специализированным нагрузочным тестированием .

Скачать тест

Данный тест не является коммерческим и его можно скачать бесплатно для 8.2 и бесплатно для 8.3 .

Технические подробности

Что происходит в тесте в рамках «одного» такта операции?

Особенности использования теста на субд PostgreSQL

Установите значение параметра standard_conforming_strings в конфигурационном файле postgresql.conf в значение ‘off’

Как замерить загруженность железа

Надо отметить, что сам по себе тест уже частично выполняет замер. Для более детальной картины рекомендую воспользоваться утилитой Марка Русиновича Process Explorer .

На рисунке показан пример замера для файлового варианта.

Предыстория

Обязательной операцией при любом внедрении или изменении существующей информационной системы является оценка необходимого быстродействия системы и планирование необходимых вычислительных ресурсов для ее реализации. В настоящее время не существует точного решения этой задачи в общем виде, и если, несмотря на
ее сложность и стоимость, такой алгоритм будет предложен каким-либо производителем, то даже небольшие изменения в аппаратной части, версии программного обеспечения, конфигурации системы или количестве или стандартном поведении пользователей приведут к появлению значительных ошибок.
Тем не менее существует достаточное количество способов . Все эти способы могут применяться в процессе выбора, но потребитель должен понимать их области применения и ограничения.

Большинство существующих методов оценки производительности основывается на том
или ином типе тестирования .

Можно выделить два основных типа тестирования:
компонентное и интегральное.

При компонентном тестировании проводится
тестирование отдельных компонентов решения, начиная от производительности
процессоров или подсистем хранения информации до тестирования
производительности сервера в целом, но без полезной нагрузки в виде того или иного
бизнес-приложения.

Интегральный подход характеризуется оценкой
производительности решения в целом, как его программной, так и аппаратной частей.
При этом может использоваться как бизнес-приложение, которое будет использовано
в конечном решении, так и некоторые модельные приложения, эмулирующие
некоторые стандартные бизнес-процессы и нагрузки.

Тесты TPC и другие универсальные тесты позволяют выбрать наиболее перспективные платформы и сравнивать между собой предложения различных производителей, но являются лишь справочной информацией, не учитывающей специфики бизнеса. Специализированные тесты позволяют точнее выбрать конкретную модель сервера и его конфигурацию. Однако наиболее обоснованные решения принима ются только на основе результатов проведения нагрузочных тестов. Только они позволяют оптимально сконфигурировать выбранную
серверную платформу и провести ее настройку на максимальную производительность.

Что такое TPC -1C-GILV

Это серия независимых тестов, предназначенных для оценки быстродействия платформы 1С:Предприятие 8.1 на вашем компьютере (ах).

Разумеется, "независимый" тест означает, что он не спонсируется фирмой 1С.

В настоящее время доступен тест "TPC -A-local Throughput / TPC -1C-GILV-A" (последнее обновление - август 2008г. версия 1.0.3)

Идея теста TPC -A-local Throughput / TPC -1C-GILV-A

Вы скачиваете с данного сайта файл выгрузки конфигурации (~400 Кб) и загружаете у себя. Если развернете конфигурацию в файловых вариант, то в значительной степени тест будет тестировать связку "CPU вашего компьютера - HDD где лежит база".

Если развернете конфигурацию в клиент-серверный вариант, то преимущественно нагрузке подвергнуться CPU сервера приложений - CPU сервера субд - - сервера субд.

В тесте выполняется интенсивная запись 5000 документов. Глубокого смысла в бизнес-логике кода нет, оцениваться просто условно выбранная за эталон производительность документа Х.

Главная прелесть теста в том, что Вам не надо знать технических подробностей. Тест выполняется сам и сам выдает оценку. К тому же результат кому сообщать Вам тоже не обязательно:)

Вы можете сравнить производительность нескольких серверов, или одного сервера с разными характеристиками дисковой подсистемы.

Выполняя тест с сервера приложений и с клиента по сети можно понять влиятие сети на участке от клиента до сервера.

Как запустить тест

Запустить тест очень просто. Надо нажать кнопку

и дождаться пока индикатор теста (справа от кнопки) достигнет 100%.

Обычно тест длится около 8 минут.

Что означают результаты теста

Результат теста представляется как "скорость записи" данных теста. Погрешность теста составляет 2 единицы. Для точной оценки можно повторить тест 3 раза.

После того, как индикатор теста достигнет 100% вы увидите примерно такие графики:

Ниже графиков расположены некоторые ранее проведенные аналогичные тесты.

Цвет графика подсказывает о текущем качестве "общей" производительности для работы без учета блокировок.

Зеленый цвет графика в совокупности с некоторыми условно выбранными за эталоны показателями справа позволяет сделать кроссплатформенную обобщенную оценку "неплохой" производительности:)

Как радоваться результатам теста

Вы получили в качестве результата некий индекс производительности (считай скорости). Не важно, хороший или плохой результат - это результат работы ПЛАТФОРМЫ на вашем "железе". В случаи клиент - серверного варианта это результат . Вы получаете общий фактический результат, который определяется САМЫМ УЗКИМ МЕСТОМ в системе. УЗКОЕ МЕСТО ЕСТЬ ВСЕГДА!

Другими словами, и настройки СУБД, и настройки ОС, и оборудование оказывают влияние на общий командный результат:)

Какой сервер лучше

Данный тест, выполненный на конкретном сервере, дает результат по совокупности настроек hardware, операционной системы, субд и т.д. Тем не менее высокий результат на конкретном серверном оборудовании означает, что при соблюдении нормальных условий такой же результат будет на идентичном серверном оборудовании. Данный тест является бесплатной помощью в возможности сравнить установку 1С:Предприятие под Windows и Linux, три различных СУБД, поддерживаемых платформой 1С:Предприятие 8.1 .

Безопасность теста

Тест абсолютно безопасен. Он не приводит к "падению" сервера (отсутствует "стресс"-алгоритм) и не требует предварительных мероприятий даже на "боевом" сервере. Конфиденциальных данных в результаты теста также не записываются. Собирается информация о параметрах CPU, RAM, HDD. Серийные номера устройств не собираются. Во всем этом можно легко убедиться - код теста 100% открыт. Никакой пересылки информации без вашего ведома невозможно.

Как опубликовать результаты теста

Если Вы хотите помочь развивать тест, вы можете выполнить ряд тестов на своих серверах. Затем общего перечня сделанных тестов оставьте только те, что хотите опубликовать и пришлите dt-выгрузку с результатами.

Данные будут вручную проверены (что они не являются ошибочными), в колонку "автор" тестов добавляется адресат тестов и добавляются в выгрузку, доступную для скачивания всем.

Классификация TPC -A-local Throughput / TPC -1C-GILV-A

Тест относится к разделу универсальных интегральных кроссплатформенных тестов. Даже более того, он применим для файлового и клиент-серверного вариантов эксплуатации 1С:Предприятие. Тест работает для всех СУБД, поддерживаемых 1С .

Универсальность позволяет делать обобщенную оценку производительности не привязываясь к конкретной типовой конфигурации платформы.

С другой стороны это означает, что для точных расчетов заказного проекта тест позволяет сделать предварительную оценку перед специализированным нагрузочным тестированием (например с помощью 1С:Тестцентр).

Примечание. Модификация теста "A " означает "автоматическое управлением блокировками" . После выхода официальных версий типовых решений от 1С, планируется модифицировать тест для работы в режиме "управляемых блокировок" и обозначить буквой "M ".

Скачать тест

Данный тест не является коммерческим и .

Результаты тестирования

Топ - 3 лучших клиент-серверных инсталляций 1С на MS SQL Server. Вы тоже можете попасть в эту таблицу. Подробнее можно посмотреть результаты, скачав тест.

Технические подробности

Что происходит в тесте в рамках "одного" такта операции?

Как замерить загруженность железа

Надо отметить, что сам по себе тест уже частично выполняет замер. Для более детальной картины рекомендую воспользоваться утилитой Марка Русиновича .

На рисунке показан пример замера для файлового варианта.

Контакты для TPC -1C-GILV

http://сайт/1c/tpc

результаты тестов, предложения о развитии

Реализация инфраструктуры 1С на базе Linux тема древняя, но до сих пор актуальная. Мы недавно публиковали статью Сервер приложений 1С на Linux , но остался открытым вопрос реальной производительности в сравнении с решением под Windows. Тестирование проводилось и в ручном режиме, но для объективности результатов я опубликую итоги теста Гилева , прошедшего на одной и той же аппаратной платформе с использованием разных ОС: Linux CentOS 7 и MS Windows Server 2012.

В качестве сервера использовался стенд с двумя процессорами Intel Xeon E5-2670, 8х4Гб ОЗУ и SSD Intel.

Сводная таблица средних значений результатов теста Гилева.

Примеры результатов







Приемлемые результаты тестирования, простота развёртывания и низкие затраты на лицензирование, побудили нас создать законченный продукт: Сервер 1С на базе Linux из коробки.

Каждая модель имеет удобный конфигуратор, в котором можно подобрать конфигурацию оптимальную для своих задач. Вот об этом чуть подробнее.

Создание калькулятора вычислительной мощности сервера 1С - задача не тривиальная. А создание универсального конфигуратора 1С под все возможные случаи - практически невозможная.

Наверняка на хабре много админов, у которых своё представление о нагрузке и требованиям к вычислительной мощности серверов под 1С (Ваши комментарии повысят ценность этой статьи). Есть и официальные рекомендации 1С, в которых будет работать всё на всём…

Но всё таки есть основные параметры, которые можно просчитать, применимо к типовой схеме эксплуатации. Зная сколько ресурсов процессора и оперативной памяти отнимает терминальная сессия, какое количество IOPS затребует SQL при определённом количестве пользователей, и отталкиваясь от результатов многочисленных тестов - мы разработали конфигуратор типового решения под 1С.

Безусловно каждый случай уникален и требует детального пресейла, но для ориентировочного расчета достаточно указать количество пользователей, тип базы, объём текущей базы и выбрать необходимые лицензии.

Для сравнения стоимости готового решения на базе Linux и Windows, приведу пример из конфигуратора с розничными ценами.

Сервер на 20 пользователей с базой SQL до 80Гб, лицензией 1С: Бухгалтерия 8 ПРОФ, на базе Linux CentOS будет стоить 522 759,43 руб. Аналогичная конфигурация на базе Windows - 1 036 279,43 руб.

Модельный ряд серверов для 1С STSS Flagman состоит из 3 моделей как для Linux, так и для Windows.


1C113.5-020UL - сервер 1С начального уровня, поддержка до 20 пользователей с базой SQL. Объём дискового пространства рассчитывается с учётом роста базы на 20% в год в течение 3 лет. Массив RAID1 строится на основе Enterprise SSD Intel. Возможна установка двойного БП и дополнительных дисков под «холодные» данные. Доступен выбор программных сервисов: PostgreSQL, xrdp и httpd.

1C216.4-200UL - модель на базе 2-процессорной платформы обеспечивающая работу 1C-инфраструктуры до 200 одновременных подключений. Хранилище рассчитывается по такому же принципу - размер базы с учётом роста, но строится на основе массива RAID10 из 4хSSD необходимого объёма.

1C217.2-050UL-REF - это решение для заказчиков с ограниченным бюджетом, построено на базе сервера восстановленного на нашем производстве (после гарантийной замены, демо-фонд и пр.) Серверы проходят такие же нагрузочные тесты перед отгрузкой, как и новые модели, но имеют сокращённый срок гарантийного обслуживания (1 год). Сервер поддерживает до 50 подключений и, без учёта лицензий, стоит всего 203 705,00 руб., с массивом под базу 40Гб.


1C113.5-020UW - сервер 1С начального уровня, поддержка до 20 пользователей с базой SQL. Объём дискового пространства рассчитывается с учётом роста базы на 20% в год в течение 3 лет. Массив RAID1 строится на основе Enterprise SSD Intel. Возможна установка двойного БП и дополнительных дисков под «холодные» данные.

1C216.4-200UW - модель на базе Windows с поддержкой до 200 пользователей. Хранилище строится на основе массива RAID10 из 4хSSD необходимого объёма.

1C217.2-050UW-REF - та же платформа, что и в решении на базе Linux. Бюджетный вариант на 50 подключений, гарантия 1 год.

В качестве платформы 1С во всех моделях можно выбрать следующие лицензии:

1С: Управление небольшой фирмой 8 ПРОФ
1С: Управление торговлей 8 ПРОФ
1С: Бухгалтерия 8 ПРОФ
1С: Бухгалтерия 8 КОРП
1С: Зарплата и управление персоналом 8 ПРОФ
1С: Зарплата и управление персоналом 8 КОРП
1С: Документооборот 8 ПРОФ
1С: Документооборот 8 КОРП

Если заказчик обладает достаточной экспертизой для подбора сервера под 1С, он может воспользоваться классическими моделями серверного оборудования . Но если подобной экспертизы нет, то, надеюсь, наш конфигуратор серверов для 1С поможет Вам сделать оптимальный выбор системы.

Спасибо за внимание! Надеюсь, что хабра-пользователи близкие к этой теме поделятся своим опытом в подборе оборудования под 1С в комментариях.