Как запустить тест гилева 1с
А давайте поговорим про синтетические тесты? Мы заметили, что часть клиентов использует их, оценивая «профпригодность» любого облачного решения. Иногда нас просят предоставить результаты какого-либо теста или сами проверяют систему во время бесплатного пробного периода. Причём то же нагрузочное тестирование проводят редко. В фаворитах — тест Гилева. Про него-то мы и расскажем. Ведь если и делать подобный тест, то делать его нужно правильно.
Введение
Стоит понимать, что тест Гилева никак не отражает быстродействие реальной конфигурации с реальной базой данных. Он запускается на пустой платформе без установки каких-либо конфигураций и тем более загрузки реальных баз 1С. А ведь многопоточный тест может быть запущен в качестве нагрузочного и на реальной системе с реальными данными.
Более того, тест в первую очередь разрабатывался для проверки дискретных серверов (поскольку именно их рекомендует использовать производитель платформы), а однопоточный тест изначально разрабатывался для проверки файловой архитектуры хранения баз 1С. И если по настройке дискретных серверов и операционных систем на сайте авторов имеются рекомендации, хотя и неполные и отчасти устаревшие, то по виртуальным и облачным технологиям присутствует только приглашение к заключению договора с авторами теста на проведение работ по оптимизации.
Тем не менее, многие технические специалисты считают результаты теста истиной в последней инстанции, придавая очень большое значение полученным результатам. При этом зачастую внимание обращают только на результаты однопоточного теста, как самые наглядные и простые. Это не совсем правильно, но стереотип весьма устойчив.
Данная статья описывает результаты исследования влияния различных оптимизаций виртуальной машины, её гостевой ОС и прикладного программного обеспечения на результаты прохождения теста Гилева.
Исходные данные
Тест Гилева – синтетический тест, позволяющий оценить быстродействие платформы «1С:Предприятие». В основном используется для оценки производительности при использовании СУБД для хранения баз данных 1С, но может использоваться и для файлового варианта хранения баз данных 1С. Поставляется в виде файла конфигурации (*.cf) для дальнейшей загрузки в конфигураторе «1С:Предприятие».
Тест состоит из двух частей, которые могут быть запущены независимо друг от друга.
Первая часть – однопоточный тест, оценивает производительность выполнения операций в один поток, что является характерной особенностью платформы «1С:Предприятие». По результатам теста строится график в виде столбчатой диаграммы, в котором слева направо представлены текущий результат теста и результаты, соответствующие оценкам «плохо», «удовлетворительно», «хорошо» и «отлично». «Оценочные» результаты имеют фиксированные значения (10, 15, 35 и 60 соответственно). Результат однопоточного теста предоставляется в неких условных единицах.
Вторая часть – многопоточный тест, позволяет оценить скорость записи на диски при одновременном обращении к базе данных нескольких запросов. В качестве результатов выводятся максимальные скорости записи отдельных строк, однопоточной записи, максимальной скорости записи и рекомендуемого числа пользователей. При использовании файловой архитектуры хранения баз 1С этот тест недоступен.
Дополнительно тест позволяет сохранить результаты в облако авторов теста и получать результаты других пользователей теста для сравнения.
Среда тестирования
Для тестирования в «обычном» облаке Cloud4Y мы создали виртуальную машину с гостевой ОС Windows Server 2019. ВМ развернули из стандартного шаблона в варианте с паравиртуальным драйвером дисков. Данный тип контроллера не даёт преимуществ по скорости работы в сравнении с LSI Logic SAS, но активно продвигается вендором и может стать типом контроллера по умолчанию в будущем.
В качестве СУБД использовали Microsoft SQL Server 2019 редакции Standard. Редакция Express даёт схожие результаты тестирования, однако неприменима на реальных базах из-за ограничений редакции. Следовательно, использовать её в шаблоне виртуальной машины не имеет смысла.
На виртуальной машине установили сервер «1С:Предприятие» и настроили кластер серверов 1С. Также установили дополнительные средства администрирования серверов 1С. В качестве единственной конфигурации использовался тест Гилева.
Для тестирования раздельной конфигурации, где сервер 1С и СУБД размещаются на отдельных ВМ, мы клонировали исходную ВМ, после чего в гостевой ОС каждой из получившихся виртуальных машин удалили лишние компоненты и провели дополнительную настройку.
Оптимизации
Оптимизировали виртуальную машину. На виртуальных машинах, использующихся в тестировании, отключили функции добавления на лету виртуальных процессоров и оперативной памяти, как потенциально снижающие производительность.
Оптимизировали СУБД. В частности, мы:
Установили минимально необходимый набор компонентов СУБД MSSQL
Установили лимит потребления памяти сервером СУБД: минимальное значение равное половине объёма оперативной памяти, максимальное – полный размер RAM, за вычетом 1 ГБ на каждые выделенные 16 ГБ оперативной памяти
Установили максимальную степень параллелизма равную 1
Базу tempdb, пользовательскую базу данных, лог базы данных разнесли на отдельные файловые системы на отдельных виртуальных дисках
Выполнили тонкую настройку параметров баз model и tempdb: значения начального размера базы от 1 ГБ до 10 ГБ, начальный размер журнала транзакций от 1 ГБ до 2 ГБ и авторасширение в 512 МБ
В СУБД разрешили операции по обслуживанию томов
Для раздельной архитектуры для пользователя, от имени которого запускался сервер СУБД, дополнительно установили политику «Блокировка страниц в памяти». Для совместной архитектуры эта политика не должна использоваться, что подтверждается результатами тестов
Для совместной архитектуры отключили все протоколы обмена данными, кроме shared memory, для раздельной – все, кроме tcp
Тестирование
Настройки сделаны, давайте посмотрим на то, какое влияние на результаты теста оказывают разные параметры инфраструктуры
Влияние виртуальных процессоров и сокетов
Рис.1 Рис. 2 Рис. 3На рис. 1-3 приводятся результаты исследования влияния сокетов для совмещённой конфигурации. Как можно увидеть, максимальные значения достигаются при одном сокете, при увеличении их количества результаты теста снижаются.
Рис. 4 Рис. 5
На рис. 4 и 5 показано слияние увеличения количества виртуальных процессоров. Как можно увидеть, значительного выигрыша в результатах теста Гилева увеличение количества виртуальных процессоров не даёт.
Примечание: но при работе с реальной базой данных и при подключении более одного пользователя количество виртуальных процессоров будет существенно влиять на производительность, и это нужно учитывать.
Влияние объёма RAM
Теперь давайте оценим влияние объёма оперативной памяти на результаты теста
Рис. 6
Как можно увидеть, увеличение памяти не даёт ощутимого влияния на результаты теста.
Примечание: но при работе с реальной базой данных и при подключении более одного пользователя объём оперативной памяти будет существенно влиять на производительность, и это нужно учитывать.
Влияние размера кластера файловой системы тома с базой данных
Рис. 7 Рис. 8 Рис. 9На рис. 7-9 представлено влияние размера кластера файловой системы тома с базой данных. Как вы видите, размер кластера файловой системы не даёт ощутимого влияния на результаты теста.
Примечание: при работе с реальной базой данных размер кластера файловой системы может оказывать существенное влияние на производительность, и это нужно учитывать и использовать размер кластера, рекомендованный для имеющегося размера тома.
Влияние совместной или раздельной архитектуры
На рис.10 представлены результаты теста Гилева для раздельной архитектуры (отдельный сервер СУБД). Обратите внимание, тест никак не учитывает в однопоточном тесте конфигурацию сервера СУБД, учитывается только конфигурация сервера, где развёрнута платформа «1С:Предприятие». В целом, производительность в тесте Гилева у раздельной архитектуры несколько ниже, чем у совместной, поскольку используется протокол tcp вместо более быстрого протокола shared memory.
Влияние нагруженности кластера и выделения ресурсов
На рис. 11 представлены результаты теста Гилева на виртуальной машине, расположенной на изолированном от основного кластера хосте. Результаты существенно выше предыдущих, поскольку все ресурсы хоста гарантированно предоставляются единственной виртуальной машине.
Рис. 12
На рис. 12 представлены результаты теста в общем кластере с включенными политиками гарантированного предоставления ресурсов. Как вы видите, результат существенно ниже, чем на изолированном хосте.
Итоги исследований
На результаты теста наибольшее влияние имеют отключение всех возможных технологий энергосбережения в гостевой операционной системе и базовая частота виртуального процессора
Нагруженность кластера, в котором работает виртуальная машина, может существенно влиять на результат теста Гилева
Совмещённая архитектура даёт более высокие результаты по сравнению с раздельной за счёт использования более быстрого протокола shared memory. Однако, при использовании такой архитектуры нужно внимательно следить за ресурсами, потребляемыми отдельными компонентами системы, чтобы избежать конкуренции
Надеюсь, эта информация будет вам полезна. И помните, что одними лишь синтетическими тестами руководствоваться не стоит. Обращаем ваше внимание на тот факт, что мы проводили тест Гилева по 1С в виртуальной среде на не очень мощных процессорах. В будущем можно будет провести исследование на новом железе. Интересно?
Что ещё интересного есть в блоге Cloud4Y
Подписывайтесь на наш Telegram-канал, чтобы не пропустить очередную статью. Пишем не чаще двух раз в неделю и только по делу.
Нередко клиенты к нам обращаются с формулировками вида “всё плохо” или “нет каких-то отдельных долгих операций, медленно работает всё”. Как замерять всё?
Возможно, вы ещё не сталкивались с такой ситуацией, но мы думаем, что вы с ней столкнётесь. Продавцы железа, которое вы приобрели, утверждают что оно замечательное. Продавцы ОС и бизнес-приложений тоже говорят, что у них всё хорошо работает. Согласно рекомендациям из книжки 1С-Эксперта, вы посмотрели: нет ли ярко выраженной долгой операции, и в коде нет явно лидирующих операций. Возможно, ваша виртуалка тоже замечательная. Нет ожиданий ни на процессоре, ни на дисках, ни на СУБД!
На бумаге всё замечательно, а по факту работает очень медленно.
Для решения проблемы в качестве начальной точки отсчёта мы много лет назад разработали тест, который стал в среде 1С-ников известен как “тест Гилёва”, и показывает способность системы выполнять эталонный объём работы за единицу времени. Можно по-разному объяснять популярность теста, но лучше мы покажем практические примеры его применения.
Приведу один из наиболее ярких примеров, когда благодаря этому тесту мы смогли с минимальными затратами денег и времени выявить проблему с аппаратной частью сервера:
Результат нашего теста на тот момент составил абсолютный антирекорд, меньше мы за несколько лет ещё не встречали.
В очередной раз мы пронаблюдали, что оценка теста хорошо коррелирует с оценкой комфортности работы пользователей. Следственные действия внутри сервера не выявили явных виновников, поэтому попробовали искать их снаружи. Решили проверить фактор виртуальной среды, использованной клиентом. У клиента был ещё один сервер с аналогичным оборудованием, попросили развернуть на нём такую же систему, но без виртуализации, так сказать на голом железе. Результат нашего теста вырос во много раз по сравнению со своим виртуализованным двойником. Пользователи немедленно обнаружили, что без виртуализации всё летает, документы открываются и проводятся за секунду, отчёты формируются за несколько секунд.
Рассмотрим ещё один пример применения нашего теста для оценки влияния среды.
Вообще, в характеристиках оборудования может быть чересчур много маркетинга. Что мешает вендору слегка приукрасить преимущества и скрыть недостатки? Зато у вас есть наш тест, и вы можете сравнить разницу в производительности различного оборудования применительно к задачам 1С и в составе настроек этого оборудования.
Небольшие цифры баллов в тесте может быть косвенным признаком значимости узкого места.
Как вы возможно поняли, тест является синтетическим. Если у вас стоит потребность оценить скорость выполнения именно вашего объёма работы, который может совершенно по-другому исполняться на оборудовании, то конечно вам нужно написать свой тест. Он будет не универсальным, но даст точную оценку именно для вашей задачи.
25 баллов в нашем тесте для одного сервера может быть отличным достижением, в то время как 25 баллов для другого сервера достаточно плохо.
Не удивляйтесь, если наш тест покажет невысокие значения при том, что по отдельности каждая компонента должна работать быстрее. Влиять на конечную скорость может всё, даже несовместимость этих компонентов. Можно сверхбыстрый SSD подключить к шине SATA2 и урезать его скорость. А может сложиться и ещё хуже.
Запись опубликована автором admin в рубрике Администрирование, Подбор компьютера, производительность с метками замер, тест. Добавьте в закладки постоянную ссылку.
(1) speshuric, Тест Гилева предназначен для тестирования клиент-серверного режима в обычных формах. А этим вариантом обеспечиваются далеко не все варианты нагрузочного тестирования при изменении архитектуры.
Вот скажите мне на основании теста Гилева, что быстрее работает: Centos/Samba 3 или Windows Server 2008? Apache или IIS?
К примеру, я только что экспериментально подтвердил этим тестом прирост производительности на 7-9% при использовании х64 isapi-компонента в файловом режиме.
(3)(4)Спасибо за конструктивный ответ. Посмотрю этот тест, авось пригодится. (1) speshuric, Я согласен с предыдущим оратором. Попробовав тест Гилева. В отличии от speshuric, который файл не скачал. Мой тест - это реальные обращения к реальной базе. (6) Gilev.Vyacheslav, к Вашему тесту нужно как минимум купить платформу :)А контрагенты - они и в Управление Страховой Компанией контрагенты - нужно количество документов поставить равным 0 и подойдет к другой конфигурации.
Пользователей и админов волнует ведь не скорость записи/ответа сервера БД, а скорость работы с объектами 1С.
Как Вы например в своем тесте учитываете блокировки БД ? блокировки искажают возможности железа, чем меньше блокировок, тем точнее тест железа
в моем тесте их не должно быть (9) Gilev.Vyacheslav, для оценки возможностей железа ,если хорошо попросить гул, найдется достаточно бесплатных и хороших утилит, к которым не нужно покупать ни платформу 1С, ни конфигурацию.
Подытожу: бесплатный тест TPC-1C, возможно производит какие-то работы, т.к. он пыхтит и пытается за чем то слазить в интернет, но после 15 мин работы он выдает зеленый квадратик с числом наверху. Что это за число и почему например квадратик зеленый ? Это при том, что тест поставляется в виде цельной конфигурации.
Посетив сайт - понятно - надо радоваться, ибо В случаи клиент — серверного варианта это результат сложной цепочки прохождения запросов по различным участкам.
При этом можно взять любую ИБ, запустить перепроведение документов и по обычному секундомеру понять насколько быстро работает конкретное решение. Чего в принципе и хотят обычные пользователи и их руководство в том числе. чтобы оценить возможности реального приложения у нас разработан и уже достаточно долго успешно эксплуатируется отдельный тест http://www.gilev.ru/test/ , но он платный, так как за бесплатно учесть особенности каждого конкретного внедрения - "маркетинг" и не более того ) При этом можно взять любую ИБ, запустить перепроведение документов и по обычному секундомеру понять насколько быстро работает конкретное решение. Чего в принципе и хотят обычные пользователи и их руководство в том числе.
тест должен быть "легко повторяем" на любом железе у любого пользователя, это означает:
1. пользователь не должен покупать какую либо конфигурацию, только для того чтобы воспроизвести тест
2. если воспроизводить на УТ, что делать тем кто на бухгалтерии? сравним ли тест УТ и БП?
если хотите повыпендриваться, то купите "1С:Стандартный нагрузочный тест" в составе "1С:Корпоративный Инструментальный Пакет" за 82 000 руб, не надо считать себя умнее чем другие
Россиянин за границей пытается купить презервативы в аптеке.
Естественно - языковой барьер, не знает как объяснить. Видит - аптекарь мужик.
Достает свое хозяйство, кладет на прилавок и рядом 10$.
Аптекарь не долго думая, достает свое и со словами:- Не уверен - не играй! забирает все деньги.
Что вам даст прочтение этой статьи:
- Возможность общаться на одном языке с провайдерами всего мира, предоставляющими облачный хостинг серверов, при выборе места для сервера 1С.
- Новый подход к тестированию быстродействия существующего оборудования.
Скажу сразу и жирным шрифтом:
Я не против решения всего и вся на 1С, а перед теми кто их создает, вообще снимаю шляпу.
Но иногда робко спрашиваю зачем ?
После того как об меня сломалось очередное копье, долгими осенними вечерами написал я эту статью.
По большому счету любой DBA, находящийся за пределами 1С, ничего нового в ней не откроет.
Теоретически, он может даже сказать: Все, расходимся, нас обманули. И спокойно продолжить слушать музыку у сервера (или музыку сервера, кому как угодно).
Но в сообществе 1С и неожиданно у некоторых облачных провайдеров, публикующихся на Хабре, обнаружилось непонимание темы.
Масла в огонь подлил журнал "Системный администратор" (!) №5 за 2017 г. с вопросом:
Сервер набрал примерно 17 баллов, в то время как десктоп – более 40. Так что же, сервер 1С лучше разворачивать на бюджетном железе, купленном в ближайшем киоске?
Продолжу для них.
Зачем собственно пробовать что-то еще, если есть чудесный тест Гилева ©:
Еще раз внимание!
Не против я этого теста, в конце концов можно мерить чем угодно, если это измерение дает повторяемость на различных конфигурациях софта/железа.
Переходим к теме:
Де-факто метод тестирования крупных провайдеров предоставляющих облачный хостинг (Alibaba Cloud к примеру или Google Cloud , на котором кстати, самое подробное описание работы) и удобная вещь в хозяйстве - HammerDB .
Описаний по использованию - предостаточно, в том числе русскоязычных.
Поэтому подробно расписывать ее не буду, опишу в общих чертах и больше про те грабли на которые наступил.
Самые большие - программа не работает с версиями MS SQL ниже 2008.
Читайте также: