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

ИГОРЬ ЧУФАРОВ , начальник отдела интегрированных автоматизированных систем АО «Радиозавод», [email protected]

40 баллов в тесте Гилева –
миф или реальность?

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

Истоки неоднозначности

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

Прежде чем проинформировать о полученных результатах, стоит пару слов упомянуть о самом тесте Гилева, рассказать, что же это такое.

Под именем «Тест Гилева» подразумевается нагрузочный тест TPC-1C, доступный для свободного скачивания по адресу .

Известные результаты

В источнике приводятся интересные результаты сравнения сервера на базе 2*Intel Xeon E5620 2,4 Ghz с 48 Гб оперативной памяти и персонального компьютера на Intel Core i5 3,0 Ghz с 16 Гб ОЗУ. Без дополнительных настроек иухищрений, что называется «из коробки», рабочая станция «порвала» сервер в тесте Гилева, показав на 155% более высокую производительность.

Сервер набрал примерно 17 баллов, в то время как десктоп – более 40. В результате экспериментов (большая часть из которых заключалась в урезании ресурсов десктопа, чтобы определить, насколько от этого деградирует результат теста) инастройки сервера авторам статьи удалось добиться 25,6 балла.

Результат, прямо скажем, далекий от 40 на обычном системном блоке. Так что же, сервер 1С лучше разворачивать на бюджетном железе, купленном в ближайшем киоске? Конечно же нет.

Обсуждение на Infostart Event 2016

За несколько дней до моей поездки на конференцию Infostart Event 2016 в Санкт-Петербург на сайте курсы-по-1с.рф появилось интересное двухчасовое видео о работе системы 1С:Предприятие в виртуализованных средах, подборе оборудования и вопросах производительности .

На конференции Infostart Event 2016 предполагалось выступление автора данного вебинара Андрея Бурмистрова – 1С-эксперта по технологическим вопросам крупных внедрений, работавшего как в фирме «1С», так и на многих крупных внедрениях в нашей стране, наставника более 2000 специалистов по курсу «Оптимизация производительности 1С» и подготовке к 1С:Эксперт.

На волне интереса к теме я пообщался с Андреем как виртуально, так и впоследствии на самой конференции. Один из вопросов, который я ему задал в ходе круглого стола НighLoad, касался возможности выпуска вебинара с референсным тестированием различных вариантов серверного оборудования – с SSD, с обычным жестким диском, в различной конфигурации оборудования. Ответ звучал примерно так: «Спасибо, идея интересная. Может быть, сделаем. Просто дайте нам Intel P3700, P3600, и мы с радостью его протестируем. Это не так просто раздобыть где-то на тестирование на неделю SSD».

Так вот, оказалось, что именно своими глазами практически никто из моих собеседников не видел больше 30 баллов в режиме SQL, а те, кто видел, отмечали, что это было не на серверном оборудовании.

Замкнутый круг? Назрел нешуточный вопрос: «40 баллов в тесте Гилева на серверном оборудовании в режиме SQL – миф или реальность?»

Статью целиком читайте в журнале «Системный администратор», №5 за 2017 г. на страницах 10-15.

PDF-версию данного номера можно приобрести в нашем

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

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

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

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

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

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

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

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

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

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

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

Данный тест, выполненный на конкретном сервере, дает результат по совокупности настроек 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 .

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

Доброго времени суток, уважаемые.
Данная заметка является подсказкой мне, и остальным.
Данная информация пригодиться новичкам для создания и оптимизации базы 1С на сервере SQL

Когда у тебя нет опыта работы с серверной частью 1С, то при появлении такого желания и/или необходимости появляется не мало нюансов и не очевидностей.
Печально, что даже такой простой квест, как выбор сервера под 1С не гарантирует успеха, и вы можете столкнутся с его крайне медленной производительностью.
Вот на этапе выяснения, что не так, и может понадобиться понимание того в какой последовательности и что делать.
Начинаем. Не забудьте сделать бекап данных.
Мой сервер базируется на Windows Server 2012 R2 standart, и SQL 2012.
У вас могут быть другие входящие, это не важно (сейчас).
Мы взяли Комплексную поставку УТП (в нее входит 10 клиентских лицензий, сервер (только 32 бит), и конфигурации ЗУП, УТ, Бухгалтерии, и сама УТП. Примечательно что франзайзи во всю хотели включить отдельные поставки, и лучше сразу КОРП. Анализ показал что это лишнее, и дешевле брать комплексную конфигурацию.
При подборе железа вам важно помнить, что в клиент-серверном варианте работе 1С нужно, чтобы частота работы процессора была максимальна, как и частота работы памяти (помните об этом, выбирая железо). (то есть Hyper трейдинг и всякие С1-2-3 state лучше отключить в BIOS).
Так же надо «физически» разносить файл базы (MDF) и лога (LDF) на отдельные жесткие, а не логические диски.
И если для файловой версии оптимально будет рекомендовать SSD, то тут, не все так очевидно.
Зайдите на форум Гилева, чтобы ознакомиться с «загадками», возникающими в попытке улучшить производительность 1С. Много интересного.
В моем случае коллеги админы выдели мне лезвие на блейд сервере, с 2мя физ.процессорами AMD Quad-Core Opteron(tm) Processor 2354, с 16 Гб (667 МГц). Система на 2 дисках в зеркале. Диски под базу выделялись по Fiber chanel, на HP EVA.
Сейчас ищу другую конфигурацию, но пока надо и на этом пожить.
И вот на этапе внедрения, пока ведется анализ как переносить данные из другой ERP системы, 1С программист обратил мое внимание на медленную работу, и долгое проведение документов. То есть систему еще не эксплуатируют, а она уже тормозит и помирает, а перепроведение раза в 3 медленнее, чем у человека на ноутбуке, а с этим еще и люди работать должны будут (3-4 основных, и 25-40 табельщиков).
Не порядок.
Он порекомендовал использовать тест Гилева (легко гуглится его сайт), у которого полного сервисов поддержки, и информации. Чем и воспользовался.
Тест показал что все плохо, и рекомендованное число пользователей отсутствует.
Посмотрев повнимательнее я понял что база и лог хоть на разных дисках - но логических.
И вот для исправления этого и сделал скриншоты и эту памятку на будущее себе и другим:

Создание базы данных в SQL server management studio. Базу и лог разносим на разные физические диски.


Методе восстановления выбираем Simple


Создаем новую базу через клиента 1С на компьютере


Выбираем добавление информационной базы. В нашем случае без конфигурации.


Задаем называние. Здесь любое. Лучше как на сервере.


Заполняем данные. Когда указывал на сервере, имя сервера указывал 127.0.0.1 - иное не работало.


здесь ничего не меняем


Делаем загрузку нашей информационной базы (предварительно имеющейся или новой, например теста)


Собственно выбор базы. Я загружаю тест Гилева для платформы 8.3


Подтверждаем

Подтверждаем



Итог теста. Еще все плохо, но рекомендованное число пользователей больше требуемого, что хорошо.

P.S. Не забывайте делать бекап.
P.P.S запуская тест Гилева в тестовой базе, которая расположена в тех же местах хранения что и любая боевая - имейте ввиду, что как минимум Лог файл стремиться занять все свободное место, что чревато остановкой боевой базы и не прохождением теста!!!
P.P.P.S так же помните, что SQL при работе использует TEMP базу, находящуюся там же, где установлен SQL (по умолчанию на C).
Поэтому доступ к этой базе желательно так же улучшить.

Так же информация в помощь - Effector Saver позволяет сохранять 1с базы
Бекапить все остальное смысла мало, так как в моем случае лицензии программные и при переносе на другое железо лицензии слетают.

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

Ходят слухи, что 1С (самая популярная система для бухгалтерского и управленческого учета) "тормозит" в облачных инфраструктурах.

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

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

Подготовка

  1. Выбираем двух провайдеров услуг для размещения виртуальных серверов.
  2. Подготавливаем идентичные машины для тестирования - одинаковое количество ядер, памяти, объем дисков и их тип. Так же, важно одинаково настроить СУБД.
  3. Проводим нагрузочное тестирование на минимальной конфигурации. Фиксируем результат.
  4. Добавляем ресурсы и повторяем шаг 3. Так до тех пор, пока ресурсы не закончатся.

Наша конфигурация для тестирования

  • HDD для операционной системы - SSD
  • HDD для данных - SSD.
  • ОС - Windows Server 2016 Datacentr
  • СУБД - SQL Server 2016 SP1 Standard Edition
  • 1С Сервер x86 версии 8.3.10.2505.

1C Сервер и SQL Server установлены на одной машине. Включен и используется режим Shared Memory.

1С Предприятие запускаем на той же машине, где размещен сервер 1С и СУБД, чтобы устранить задержки сети и не зависеть от географического размещения ЦОД"а, в котором размещаем виртуальную машину.

Как тестируем

В качестве основы будем использовать тест от проекта www.gilev.ru

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

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

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

Azure размещается в 40 регионах по всему миру, для тестирования мы будем использовать Западную Европу, как наиболее близкий из доступных регион к нам.

На старт! Внимание! Тест!

Начнем тест с машин серии D-series v2. В частности, D1 v2 состоит из 1 ядра и 3,5 Гб оперативной памяти. Фиксируем результат:

Так как в Azure нельзя гибко добавлять ресурсы, а можно только использовать преднастроенные варианты виртуальных машин, переводим тестовый образец на D2 v2, в котором 2 ядра и 7 Гб оперативной памяти. Запускаем.

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

Тариф Ядра Память Оценка комфорта Пользователей
B4ms 4 16 15,34 14
D1 v2 1 3,5 17,92 21
D2 v2 2 7 19,46 28
D2s v3 2 8 8,45 14
D3 v2 4 14 18,25 56
D4 v2 8 28 19,23 91
D4s v3 4 16 15,53 42
E2s v3 2 16 10,04 21
E4s v3 4 32 12,38 49
F4s 4 8 20,49 70
F8s 8 16 20,83 84
G1 2 28 13,26 56
L4s 4 32 17,67 56
L8s 8 64 15,82 98

"Оценка комфорта" - условная оценка быстродействия системы, включающая оценку частоты центрального процессора, количество ядер, частоту работы оперативной памяти и скорость работы дисковой системы. Показатель от 0 до 10 - плохо, 10 - 15 - удовлетворительно, 15 - 35 - хорошо, 35 - 60 - замечательно.

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

Выводы

Проведя замеры на виртуальных машинах Azure в различных вариациях ядра/память, мы пришли к следующим выводам:

  1. Для работы 1С в клиент-серверном режиме с Microsoft SQL Server наиболее подходят машины F-серии и D-серии.
  2. Дисковая подсистема Azure Premium-класса (SSD-диски) не создает ограничений скорости работы 1С.
  3. Microsoft Azure прекрасно подходит для размещения 1С Предприятие.
Стоит сказать, что рассматривать тот или иной облачный сервис отдельно от денег - немного однобоко. Мы подготовим отдельную статью на тему финансовой эффективности такого подхода к развитию инфраструктуры предприятия.

Для ролей сервера 1С, сервера СУБД MS SQL 2008 для 50 пользователей.

Согласно сервер-эксперту , собираем железо:

Выбираем платформу: IBM x3650 M3
Выбираем процессор: Intel Xeon E5506 - 1шт.
Выбираем оперативную память: 4 планки по 4Гб
Выбираем жёсткий диск: 3 SAS по 146 Гб RAID5

Используемое ПО:

ОС MS Windows 2008 x64
СУБД MS SQL 2008 x64
Сервер 1С 8.2 х64

Тестовая среда: для проведения нагрузочного тестирования использовалась конфигурация 1С 8.2: «Стандартный нагрузочный тест».

Ход тестирования:

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

Изначально (без пользовательских подключений) СУБД занимает 569 Мб оперативной памяти (созданы 2 БД: конфигурация 1С 8.2: УПП и тестовая конфигурация), занятая память системой составляет 2,56 Гб.
В ходе тестирования (до 110 пользователей) память под СУБД выделяется до 12 Гб, одна тестовая сессия 1С занимает 55 Мб (55Мбх200=11Гб). Для сравнения - одна реальная пользовательская сессия (клиентское приложение 1С) занимает около 300 - 500 Мб. Размер памяти, выделяемой для клиентского приложения 1С, указан для пользователя, работающего в стандартной конфигурации 1С: Торговля или 1С: УПП. Служба сервера 1С (rphost) практически не использует ОП, так как она лишь транслирует запросы от клиентской части к СУБД (по стандарту используется порт TCP 1541 и TCP 475 для сервера защиты 1С).

Использование ресурсов ЦП разделялось между службой сервера 1С (rphost) и службой СУБД (sqlservr). При нагрузке в 40 пользователей, rphost занимал 37% мощности ЦП, sqlservr занимал 30%. При нагрузке в 60 пользователей, rphost занимал 47% мощности ЦП, sqlservr занимал 29%.

Во время удаления созданных документов, служба sqlsrvr обращалась к дисковой подсистеме для записи на скорости до 6,5Мбайт/сек (около 52Мбит/сек).

Нагрузка на сеть между сервером 1С и СУБД (на локальных интерфейса lookback) составляла 10 Мб/с.
Результат тестирования, выданный тестовой конфигурацией 1С:

Параметры: Запуск теста 000000006 от 24.05.2012 12:44:16
Стандартный нагрузочный тест, версия 2.0.4.11
Начало тестирования 23.05.2012 12:36:39. Время выполнения: 57,1 минут.
Условия тестирования
«Сервер 1С: Предприятия: test
Имя информационной базы: testcenter_82
Виртуальные пользователи: TEST,»

Выводы:

Необходимо ослабить конфигурацию сервера, так как текущая является избыточной на 100% для 50 пользователей.
Необходимо выполнить тестирование, используя второй сервер для запуска эмулируемых пользователей и проверить нагрузку на сеть, ожидаемая нагрузка - 10 Мб/сек.
Архитектура 1С состоит из 4-х блоков: сервер 1С, СУБД, сервер защиты 1С и клиент 1С. В данном тесте все эти функции были запущены на одном сервере.

При большой нагрузке на сервер 1С есть следующие рекомендации:

Разносить роли сервера 1С, сервера СУБД, сервера защиты 1С и клиентские приложения 1С (для большего быстродействия клиентские приложения 1С лучше запускать на терминальном сервере).
На сервере СУБД необходимо использовать следующую структура для систем хранения данных: ОС должна располагаться на RAID 1, файлы данных СУБД (.mdf, .ndf) на отдельном RAID 0, файлы журнала (.ldf) на отдельном RAID 0, временные файлы и файл подкачки на отдельном диске.

Поделиться