Отчет по нагрузочному тестированию 1с
Для нагрузочного тестирования был выбран один из наиболее динамично развивающихся тиражных продуктов фирмы «1С» «1С:Консолидация 8 ПРОФ», предназначенный для решения аналитических задач и обработки значительных массивов распределенных данных. Функциональные возможности продукта позволили ему быстро получить признание среди крупных корпоративных заказчиков, для которых вопросы производительности и масштабируемости являются ключевыми. Выход новой версии технологической платформы «1C:Предприятие 8.2» стал удачным моментом для начала проекта нагрузочного тестирования, в состав которого вошли сборка и настройка тестового стенда, создание тестовых сценариев, а также сбор и анализ фактических показателей.
Сценарий тестирования был разработан компанией «Трейдсофт». Нагрузочное тестирование проводилось по типовой методике с замерами времени и вычислением индекса APDEX.
Начальные данные для нагрузочного тестирования предоставила компания МКСКОМ. В качестве систем управления базами данных использовались IBM DB2 9.7 Enterprise и MS SQL2008.
Непосредственно нагрузочное тестирование было поручено компании GRADUM, выполнившей значительное число масштабных проектов с использованием системы программ «1С:Предприятие», активно развивающей практику и компетенцию по «1С:Консолидация 8 ПРОФ» и проводящей регулярные курсы по этому продукту в учебных центрах фирмы «1С».
Нагрузочное тестирование выполнялось на стенде, развернутом в Центре Инноваций IBM в Москве, в состав которого входили:
- 2 сервера IBM System x: x3950M2 4x2.93 GHz Quad Core Intel Xeon Processor X7350б 64 Гб ОЗУ под управлением WindowsServer 2003 R2. x86_64. Назначение: сервер 1С:Предприятия, сервер СУБД
- Сервер IBM System p: P570-MMA 8 ядер Power6 4.7 GHz, 48 Гб ОЗУ под управлением ОС Linux. Назначение:сервер СУБД.
- 6 Блейд-серверов System x: HS22 2x2.93 GHz Quad Core Intel Xeon Processor X5570, 48 Гб ОЗУ Назначение: запуска терминальных сессий 1С:Предприятие (генерации нагрузки).
- Система хранения IBM DS5300.
- Два вспомогательных сервера System x: X3650 для размещения виртуальных машин с ключами защиты 1С и менеджеров лицензий.
В ходе нагрузочного тестирования была смоделирована работа до 500 пользователей в базах данных объемом до 857 ГБ. В качестве основных временных показателей использовалось время выполнения двух сценариев.
Сценарий 1 включал формирование следующих отчетов в разрезе одной организации:
- Консолидированный Бюджет управленческих расходов
- Консолидированный Бюджетный баланс
- Консолидированный Бюджет движения денежных средств
- Консолидированный Бюджет капитальных вложений
- Консолидированный Бюджет доходов и расходов
Сценарий 2 включал перезаполнения отчетов НРП и НРП по 15-ти ЦФО3.
Основной задачей нагрузочного тестирования было сравнение производительности при изменении различных характеристик рабочей нагрузки — как при изменении обрабатываемых объемов данных, так и при увеличении рабочей нагрузки на систему. Также был проведен анализ загруженности оборудования.
Полученные результаты производительности для базы данных объемом в 70 Гб при различной рабочей нагрузке были ожидаемы и продемонстрировали прекрасный запас вычислительной мощности на стороне сервера СУБД. При увеличении рабочей нагрузки на систему в 2 раза (с 250 до 500 пользователей) общее время выполнения сценариев увеличилось всего на 38%, при этом утилизация процессоров на сервере СУБД возросла в среднем всего с 18% до 25%.
«Среди компаний, использующих в своей работе решения на базе платформы «1С:Предриятие», немало таких, где объемы данных давно превзошли размеры в сотни гигабайт. При этом также возрастает и нагрузка на системы, за счет подключения новых пользователей и расширения бизнес-функционала. Вопросы выбора программно-аппаратных комплексов, способных удовлетворять всевозрастающим требованиям, для таких заказчиков, и нас, поставщиков решений, стоят особенно остро, — говорит Станислав Пиголкин, технический директор. — Поэтому мы с нетерпением ждали результаты нагрузочного тестирования на базе данных, близкой по размеру к 1Тб. Полученные результаты превзошли все наши даже самые смелые ожидания».
При увеличении объема обрабатываемой информации более чем в 10 раз до 857 Гб, время выполнения сценариев увеличилось всего на 70% для нагрузки в 250 пользователей, и на 81% для нагрузки в 500 пользователей, по сравнению с аналогичными результатами на базе меньшего объема. Загрузка оборудования сервера баз данных в последнем случае на протяжении всего теста была практически 100%, при этом не наблюдалось случаев ошибок в работе пользователей, связанных с превышением времени ожидания.
По мнению Сергея Бугрина, директора департамента систем и технологий IBM в России и СНГ, технологии IBM еще раз продемонстрировали способность прекрасно справляться с возложенными на них задачами, в том числе и в режимах предельной загрузки оборудования. «Это еще раз подтверждает обоснованность выбора архитектуры Power многими заказчиками IBM как высокопроизводительной, надежной и масштабируемой платформы для серверов баз данных, особенно в сочетании с СУБД IBM DB2».
«Взаимодействие с корпорацией IBM и фирмой «1С» позволило объединить наши экспертные знания и решения c целью предоставления предприятиям фактической информации о возможностях эффективного использования самых передовых технологий, как с точки зрения архитектуры аппаратной и технологической платформ, так и с точки зрения прикладного решения», — отмечает Алексей Тимашов, генеральный директор.
Стороны полностью удовлетворены результатами нагрузочного тестирования и планируют развивать полученный опыт с целью наиболее полного информирования предприятий об эксплуатации систем в условиях, максимально приближенных к реальным, а также для предложения первоклассных решений для автоматизации управления и учета.
Стандартный нагрузочный тест предназначен для оценки производительности серверного оборудования и программного обеспечения в так называемых «Стандартных пользователях 1С». Основная область применения данного теста — выбор конфигурации серверного оборудования и программного обеспечения для целей конкретного внедрения.
Решаемые задачи
- Расчет производительности данной конфигурации серверного оборудования и программного обеспечения
- Сравнение производительности различных конфигураций серверного оборудования и программного обеспечения
- Выбор оборудования, необходимого для работы данной информационной системы
- Расчет параметров оборудования, необходимого для работы данной информационной системы
Что оценивает тест
Тест оценивает производительность всей совокупности серверного оборудования и серверного программного обеспечения с точки зрения задач, типичных для систем, работающих на платформе «1С:Предприятие 8». То есть полученная оценка отражает не производительность какого-то одного серверного компонента системы (например, рабочего сервера кластера «1С:Предприятия»), а всей серверной конфигурации в целом. Серверная часть системы, производительность которой измеряется данным тестом, включает в себя:- все рабочие серверы, использованные для развертывания кластера «1С:Предприятия» и серверы СУБД
- операционные системы всех рабочих серверов;
- настройки операционных систем, «1С:Предприятия» и СУБД.
При проведении тестирования тест будет автоматически увеличивать количество одновременно работающих пользователей до тех пор, пока один из аппаратных или программных компонентов системы не перестанет справляться с нагрузкой. Это приведет к получению плохой оценки производительности, и тест остановится, выдав последнее хорошее значение в качестве результата. При этом остальные компоненты могут оказаться в той или иной степени недогруженными.
Таким образом, тест оценивает производительность серверной части системы по самому узкому месту, то есть ее наименее производительному компоненту.
Если серверная часть системы недостаточно хорошо сбалансирована для работы с «1С:Предприятием», то при устранении узкого места (замене или апгрейде наименее производительного компонента) можно будет получить более высокую оценку производительности.
Следует обратить внимание на то, что тест никак не оценивает производительность клиентской части системы, поэтому этот фактор должен быть полностью исключен. Иначе говоря, клиентские рабочие места не должны стать узким местом системы. Этот вопрос более детально обсуждается в главе «Подготовка клиентской части тестового стенда».
Как работает тест
Стандартный нагрузочный тест представляет собой информационную базу «1С:Предприятия 8.2» с конфигурацией, основанной на «Управлении производственным предприятием». Конфигурация объединена с «Тест-центром 2.0», в состав которого включен один сценарий тестирования.
Сценарий тестирования включает в себя эмуляцию бизнес-процесса «продажи в УПП», а именно: создание нескольких различных документов, формирование отчетов и другие прикладные действия. Тест работает в режиме полной параллельности, то есть каждый пользователь работает с собственными уникальными данными, и ожиданий на блокировках не возникает. Пользователь выполняет один полный цикл продажи в минуту.
Рассмотрим упрощенное нагрузочное тестирование, которое встроено в типовую конфигурацию 1С:Документооборот КОРП или ДГУ. При этом можно не приобретать дополнительно 1С:КИП (корпоративный инструментальный пакет).
Подготовка эталонной базы СЭД для нагрузочного тестирования
Для проведения нагрузочного тестирования нужно создать эталонную базу СЭД 1С Документооборот. В качестве эталонной базы может выступать прототип или копия рабочей базы.
Необходимо установить следующие флажки в настройках программы под Администратором. В настройках по делопроизводству:
- Виды входящих документов,
- Виды исходящих документов,
- Виды внутренних документов,
- Учет по организациям,
- Вопросы деятельности,
- Управление мероприятиями,
- Грифы доступа,
- Категории для документов и файлов,
- настройку "Штрихкодирование документов" отключаем.
В настройках по процессам и задачам:
В настройках по правам доступа:
Также нужно включить настройку "Выполнять замеры производительности" в общих настройках программы.
И можно настроить автоматический экспорт замеров производительности.
Нужно обязательно заполнить следующие справочники:
- Виды внутренних документов – для каждого вида документа должны быть установлены настройки "Автоматически вести состав участников рабочей группы" и "Вести учет по корреспондентам" (довольно странное требование, так как в копии рабочей базы или прототипе далеко не всем видам документам нужны такие настройки).
- Виды входящих документов – для каждого вида документа должна быть установлена настройка "Автоматически вести состав участников рабочей группы".
- Виды исходящих документов – для каждого вида документа должна быть установлена настройка "Автоматически вести состав участников рабочей группы".
- Организации.
- Грифы доступа.
- Вопросы деятельности.
- Папки внутренних документов.
- Папки мероприятий.
- Корреспонденты.
Если видов документов много, то указанные настройки быстрее установить с помощью обработки "Групповое изменение реквизитов" в разделе "Настройка и администрирование".
Указываем справочник "Виды внутренних документов".
Выбираем реквизиты и значения, которые хотим изменить и нажимаем кнопку "Изменить реквизиты".
Аналогично поступаем со справочниками "Виды входящих документов" и "Виды исходящих документов".
Сценарии тестирования, входящие в типовую поставку 1С:Документооборот
Откроем конфигуратор 1С:Документооборот. И в конфигурации установим отбор по подсистеме НагрузочноеТестирование .
В общем модуле НагрузочноеТестированиеСценарииСтандартные указаны типовые сценарии.
В общем модуле НагрузочноеТестированиеСценарии содержится код пользовательских сценариев. В этом модуле основные сценарии вызывают стандартные сценарии из модуля НагрузочноеТестированиеСценарииСтандартные .
В комментариях перед каждой функцией можно посмотреть из каких шагов состоит каждый сценарий. Также полезным будет оценить среднее время на выполнение сценария.
Функция СозданиеВнутреннегоДокумента()
// Сценарий создания внутреннего документа.
// Шаги сценария:
// 1. Открытие списка внутренних документов, если он еще не открыт (пауза 5с).
// 2. Переключение режима просмотра на случайное (пауза 5с).
// 3. Если режим просмотра "По папкам", тогда переход к папке (пауза 5с).
// 4. Выполнение команды "Создать документ" в списке (пауза 5с).
// 5. Выбор шаблона создаваемого документа в форме выбора шаблона (пауза от 20с до 30с).
// 6. Выполнение команды "Создать по шаблону" в форме выбора шаблона (пауза 5с).
// 7. Заполнение реквизитов документа в форме документа (пауза от 60с до 180с).
// 8. Выполнение команды "Записать" в форме документа (пауза 5с).
// 9. Закрытие формы документа (пауза 5с).
Функция СозданиеИсходящегоДокумента()
// Сценарий создания исходящего документа.
// Шаги сценария:
// 1. Открытие списка исходящих документов, если он еще не открыт (пауза 5с).
// 2. Выполнение команды "Создать документ" в списке (пауза 5с).
// 3. Выбор шаблона создаваемого документа в форме выбора шаблона (пауза от 20с до 30с).
// 4. Выполнение команды "Создать по шаблону" в форме выбора шаблона (пауза 5с).
// 5. Заполнение реквизитов документа в форме документа (пауза от 60с до 180с).
// 6. Выполнение команды "Записать" в форме документа (пауза 5с).
// 7. Закрытие формы документа (пауза 5с).
Нагрузочное тестирование 1С:Документооборот
Перед запуском 1С:Документооборот для средних и крупных внедрений крайне желательно провести нагрузочное тестирование , чтобы проверить корректность и скорость работы системы электронного документооборота в условиях максимальной нагрузки. В данной статье пойдет речь о том, как провести нагрузочное тестирование в 1С:Документооборот без использования 1С:КИП.
28.12.2015 22417 vlush78 1
Короткое нагрузочное тестирование PostgreSQL простыми запросами
Короткое нагрузочное тестирование PostgreSQL простыми запросами. Прилагаются результаты в файлах pgBadger и perfmon.
1 стартмани
10.12.2018 11656 vasilev2015 22
Нагрузочное тестирование . В дни проведения ЧМ по футболу.
Нагрузочное тестирование . Подготовка к экзамену 1С:Эксперт. По мотивам доклада Виктора Богачева Инфостарт Event 2014. В дни проведения ЧМ по футболу.
1 стартмани
24.06.2018 11234 vasilev2015 9
Альтернативные технологии нагрузочного тестирования серверной части кода прикладных решений на платформе 1С
Евгений Филиппов знакомит с альтернативными технологиями нагрузочного тестирования серверной части кода прикладных решений на платформе 1С. Он рассказывает об узких местах традиционной технологии нагрузочного тестирования и методах их обхода путем переноса работы с клиентских соединений на фоновые задания и изменения способа управления сеансами. Также автор приводит примеры с реальных проектов, подтверждающие жизнеспособность предложенных технологий.
12.07.2018 11747 jf2000 10
Нагрузочное тестирование сервера 1С при использовании WEB сервисов
Проведение нагрузочного тестирования WEB-сервисов, развернутых на платформе 1С. Целью тестирования является ознакомление с возможностями платформы 1С при работе с большим количеством запросов через опубликованные WEB сервисы на IIS 7.5
01.02.2017 29147 BraunAlex 34
Обработка " Нагрузочное тестирование "
Обработка " Нагрузочное тестирование " - автоматизация нагрузочного тестирования базы 1С
1 стартмани
17.02.2011 13669 158 afedorov 1
Обработка-сценарий нагрузочного тестирования для тест-центра
Данная обработка реализует сценарий пользовательского проведения документов
1 стартмани
26.08.2015 16438 32 acsent 1
Взгляд на ошибки и платформу через призму HI-Load
Поговорим об ошибках в целом и их влиянии на Hi-Load системы в частности. Может ли тут помочь платформа 1С? (да и должна ли в принципе?) Немного про сам Hi-Load на примере крупной БД. PS Данная статья написана по итогам доклада, прочитанного на конференции INFOSTART EVENT 2017 COMMUNITY.
18.06.2018 14065 Sergey.Noskov 27
Обработки для проведения сценарного нагрузочного тестирования на примере конфигурации ЗУП версии 3.1.1.91
Обработки предназначены для проведения сценарного нагрузочного тестирования , включая пример описанного сценария с обработками (epf) - ГлавныйРасчетчик, Кадровик, Расчетчик, Табельщик. Обработка будет полезна прежде всего тому, кто внедряет решение на базе конфигурации 1С "Зарплата и Управления персоналом" с необходимостью воспроизвести определенный сценарий с заданным количеством пользователей для расчета, а также возможность посмотреть, какая будет при этом нагрузка на ваше оборудование и скорость выполнения операций с учетом блокировок СУБД. Также это будет интересно тем, кто хочет прощупать, как на практике пользоваться конфигурацией "Тест Центр", входящий в состав пакета 1С:КИП.
2 стартмани
15.09.2017 11965 27 podorojnii_ayu 1
Видеодемонстрация применения Теста-центра для нагрузочного тестирования конфигураций Промо
Тест-центр – инструмент автоматизации многопользовательских нагрузочных испытаний информационных систем на платформе 1С:Предприятие 8. С его помощью можно моделировать работу предприятия без участия реальных пользователей, что позволяет оценивать применимость, производительность и масштабируемость информационной системы в реальных условиях. В видео показан пример с внедрением конфигурации Тест-центра в произвольную информационную базу и создание простого сценария нагрузочного теста.
16.09.2012 36453 Aleksey.Bochkov 29
Решение проблемы быстродействия в ERP на рабочем примере
Рассмотрим практический пример оптимизации, определим последовательность действий и воспользуемся специализированными инструментами.
3 стартмани
18.12.2018 25550 188 ivanov660 24
Bugs must die! или Как повысить качество внедрений инструментами тестирования
Речь в статье пойдет про тестирование , про качество программ и про то, как можно процесс тестирования автоматизировать. Статья написана по итогам доклада, прочитанного автором на Конференции IE 2013 Еvolution 23-24 мая 2013 года. Также она напечатана в Журнале Инфостарта №2.
03.03.2015 20142 eu_genij 17
Механизмы тестирования в 1С. Использование методики TDD (разработка через тестирование ) в 1С
Данная статья написана по материалам доклада, прочитанного автором на первой конференции инфостарта 2012 года. Она опубликована в журнале Инфостарта №1.
09.02.2015 84731 artbear 54
Видеозаписи онлайн-митапа "DevOps в 1С: Тестирование и контроль качества решений на 1С" Промо
Первый митап 2021 года провели на тему тестирования и контроля качества решений на 1С.
22.01.2021 8781 10 104
Интеграция сценарного тестирования в процесс разработки
Эта статья является практическим пособием по внедрению тестирования на основе сценариев в процесс разработки программного обеспечения на базе платформы 1С:Предприятие 8.3. Документ отличает прикладная направленность, в нем содержится много кода, подходов и конкретики. Все рассмотренные примеры основаны на использовании бесплатной конфигурации Тестер
1 стартмани
04.07.2017 31317 grumagargler 30
Автоматизация тестирования
Статья будет полезна всем, кто интересуется вопросами автоматизации тестирования . Владимир Крючков рассказывает о наработанных методиках, которые успешно использует в своей практике, приводит примеры инструментов для эффективной автоматизации тестирования , делится опытом создания сценарных, интеллектуальных и юнит-тестов, а также рассматривает проблемы их использования и предлагает пути решения.
04.10.2018 12811 ivanov660 23
Автоматизированное тестирование в 8.3
В данной статье будет рассмотрен новый механизм системы "1С:Предприятие 8" поддерживаемый начиная с платформы версии 8.3. Механизм позволяет легко и быстро создавать различные сценарии тестирования , без необходимости написания сложных процедур и функций для имитации действий пользователя.
06.03.2014 67662 M.Shalimov 46
Тест серверного оборудования на допустимое количество пользователей: как это использовать?
Выполнил 3 разных теста для проверки серверного оборудования (тест 1С, тесты gilev) на возможное число 1С онлайн-пользователей одновременно работающих на нем и интерпретировал результаты тестов через легких, средних и тяжелых пользователей с помощью таблицы с профилями реальных пользователей.
3 стартмани
17.12.2019 14311 sapervodichka 3
Многопоточный CI-контур для 1С c Packer, Vagrant и Jenkins. Часть 1. Описание системы и обзор инструментария
Строим CI-контур для 1С. Теория и практика.
21.02.2020 15103 Vladimir Litvinenko 21
Многопоточное тестирование производительности по методике APDEX (управляемые формы)
Каждый у кого нет сервера, мечтает его купить, а те, у кого сервер есть, мечтают, чтобы он был быстрее. Но деньги на сервер выделяет руководство.
10 стартмани
09.01.2019 12355 20 capitan 32
Повышение качества разработки. Статья 4. Почему код становится плохим, и как с этим бороться
Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Статья 4. Эта статья посвящена причинам возникновения проблем с качеством кода и методикам их преодоления.
22.03.2021 1580 Артано 5
xUnitFor1C - набор инструментов для выполнения тестирования (модульного/юнит, приемочного, сценарного для 1С 8.3, интеграционного) в 1С:Предприятии 8
xUnitFor1C - простой и мощный фреймворк для тестирования в 1С. Позволяет тестировать в разных режимах обычное приложение, тонкий и толстый клиент управляемого приложения. Поддерживаются любые платформы 1С - от 8.2.17 до 8.3.5 и выше. Любые наборы тестов могут прогоняться в полностью автоматическом режиме. Автозапуск используется в различных build-серверах в системах Continuous Integration. Также возможно очень простое создание тестовых данных на основании табличных макетов. Эти макеты можно генерировать из реальных боевых данных. Полученные данные в тестах загружаются одной строкой кода. В статье я кратко описал историю продукта + вставил небольшое описание различных возможностей нашего фреймворка + список полезных статей/примеров/видео, обучающих/рассказывающих о практическом применении инструмента
Ранее мы рассмотрели установку 1С Тест-центр на произвольную конфигурацию. Теперь же научимся создавать сценарии многопользовательского тестирования конфигурации пользователями и запускать само тестирование.
Написание сценария тестирования
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Напишем в процедуру ТЦВыполнить() простейший код, который будет 5 раз подряд копировать выбранный документ и замерять копирование и проведение каждого документа:
Для й=1 По 5 Цикл
Инструменты = КипВнешнийКомпонент.ПолучитьИнструменты();
ВремяНачала = КипВнешнийКомпонент.ЗначениеТаймера(Инструменты);
Процедура СоздатьДокументы() будет выполнятся на сервере:
НовыйДокумент = ТЦОбъект.ДокументДляКопирования.Скопировать();
НовыйДокумент.Дата = ТекущаяДата();
НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
На этом подготовка сценария закончена, перейдем к настройке 1С Тест-центра для проведения нагрузочного тестирования.
Настройка 1С Тест-центр 8.3
После написания тестирования приступим к настройке самого Тест-центра. Для настройки необходимо заполнить ряд справочников:
Сценарии тестирования
Основной справочник, который консолидирует в себе все настройки: сколько раз, каким пользователем, от какого имени будет выполняться нагрузочное тестирование.
После настройки сценария осталось только произвести его запуск.
Запуск тестирования в 1С: Тест-центр
Когда всё готово, останется только запустить работу тестирования.
Для запуска достаточно выбрать из списка нужный сценарий и нажать на кнопку Выполнить.
Система запустит тестирование:
После окончания, если всё прошло успешно, Вы получите отчет по выполнению операций, например:
Вот и всё, мы полностью выполнили тест и получили результаты.
Конечно, данный тест далёк от реальности, настоящий тест будет гораздо сложнее и интересней. Цель данной статьи состоит в рассмотрении общего принципа создания сценария нагрузочного тестирования.
Хорошее видео про установку, настройку и запуск тестирования в 1С Тест центр:
Читайте также: