В последнее время неуклонно растет актуальность вопросов оптимизации программных решений, в том числе с целью повышения их производительности и масштабируемости. Именно поэтому заказчики и интеграторы все больше интересуются специализированными промышленными средствами тестирования ПО, в частности IBM/Rational и HP/Mercury.

Ровно год назад на одной из московских ИТ-конференций для корпоративных клиентов состоялось подробное представление известного зарубежного продукта такого класса. Рассказывалось там и о возможностях его применения для оптимизации ERP-систем на базе технологий SAP и Oracle. Докладчика спросили, можно ли использовать данное средство для анализа работы решений на основе “1С:Предприятия” (1СП). Поначалу выступавший и аудитория восприняли вопрос почти как шутку, но после небольшого уже более серьезного его обсуждения было высказано мнение, что вряд ли западные вендоры будут создавать специальные средства анализа для решений локального разработчика ПО.

Не ожидая милости от природы…

На самом же деле в условиях роста сложности систем, реализуемых на базе 1СП, проблема их оптимизации уже давно является весьма актуальной, и потому фирма “1С” решила не ждать шагов со стороны поставщиков корпоративного инструментария и сама “пошла к горе”. В марте прошлого года компания анонсировала свое первое средство для комплексного нагрузочного тестирования прикладных 1СП-решений — “1С:Тест-Центр” (1С:ТЦ). А в нынешнем январе стало известно о подготовке к выпуску еще одного инструмента — “1С:Центр управления производительностью” (1С:ЦУП). Поначалу его выход ожидался в феврале, но срок был перенесен, и лишь в начале апреля “1С” приступила к поставкам нового продукта — “1С:Корпоративный инструментальный пакет” (1С:КИП), в который вошли 1С:ТЦ и 1С:ЦУП.

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

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

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

На основании полученной информации оценивается работоспособность системы. В случае обнаружения проблем с её производительностью эксперт при помощи 1С:ЦУП собирает дополнительную (аналитическую) информацию об “узких местах” системы. На основании этих сведений и рекомендаций, приведенных в руководстве по использованию “Корпоративного инструментального паркета”, можно оптимизировать систему, изменив программный код приложения и/или структуру метаданных.

Тест-центр

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

  • производительность системы при заданных параметрах модели предприятия с целью определения применимости предлагаемого решения для конкретного заказчика, выбора оборудования или формулирования эксплуатационных требований;
  • масштабируемость системы при изменении объема базы данных, количества одновременно работающих пользователей, общей нагрузки на систему;
  • изменение производительности системы при изменении любых условий ее эксплуатации (например, при коррекции функциональности или состава оборудования).

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

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

Помимо собственно инструментов — программ-имитаторов виртуальных пользователей и средств замера и визуализации показателей производительности -- важным компонентом продукта являются готовые сценарии тестирования: модернизированный вариант универсального сценария “Эмуляция работы пользователей по вводу документов” и новый сценарий “Продажи в системе «Управление производственным предприятием»”.

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

Центр управления производительностью

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

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

“Изюминкой” же 1С:ЦУП являются его возможности по анализу проблем производительности системы с привязкой к особенностям платформы. С помощью этого инструмента эксперты теперь могут не только узнать о наличии таких проблем, но и найти их причины и определить способы их устранения, ответив на следующие вопросы:

  • какие проблемы производительности имеются в системе и насколько они серьезны?
  • какие проблемы следует решать в первую очередь?
  • в чем конкретно заключается каждая проблема?
  • какие объекты метаданных и строки кода конфигурации следует оптимизировать для того, чтобы решить данную проблему?

Помогая специалистам отвечать на эти вопросы, 1С:ЦУП автоматически решает три основные задачи:

  • собирает полную информацию по всем проблемам производительности;
  • восстанавливает полный контекст каждой проблемы, т. е. “привязывает” ее к определенным строкам кода конфигурации и объектам метаданных;
  • автоматически ранжирует проблемы и располагает их в порядке убывания влияния на общую производительность системы.

При сборе информации о проблемах 1С:ЦУП “привязывает” каждую проблему к строкам кода приложения и объектам метаданных, которые являются ее “источниками”. При отображении проблем эксперт получает картину происходящего в системе с другой стороны: программа показывает источники проблем, автоматически сортируя их по убыванию веса проблем, которые к ним относятся. Руководство по использованию продукта содержит инструкции по анализу и оптимизации кода и структуры исследуемого прикладного решения.