Содержание к диссертации
Введение
ГЛАВА 1. Анализ состояния предметной области и проблемы нагрузочного тестирования распределенных информационных систем 12
1.1. Принципы технологий распределенных компонент 12
1.2. Краткий обзор технологии объекта исследования 17
1.3. Сравнительный анализ технологий J2EE и .NET 19
1.4. Концепции нагрузочного тестирования 22
1.5. Классификация подходов к нагрузочному тестированию 26
1.6. Основные достоинства и недостатки известных подходов к нагрузочному тестированию 28
1.7. Выводы по главе 1 30
ГЛАВА 2. Разработка и описание метода построения комплекса нагрузочного тестирования распределенных информационных систем 32
2.1. Определение концепций и описание нового метода 32
2.2. Формирование архитектуры КНТРИС 40
2.3. Формирование метода построения КНТРИС 57
2.4. Выбор и обоснование критериев эффективности для процесса
2.5 Актуальность применения и сравнительный анализ подхода КНТРИС с известными подходами к нагрузочному тестированию 81
2.6. Формулировка и описание модели виртуального пользователя для нагрузочного тестирования 94
2.7. Выводы по главе 2 97
ГЛАВА 3. Практическая реализация и результаты экспериментального применения метода построения комплекса нагрузочного тестирования распределенной информационной системы 100
3.1. Экспериментальное ПО и аппаратное обеспечение нагрузочного тестирования 100
3.2. Пример описания проектной архитектуры клиентской части КНТРИС 101
3.3. Анализ и результаты обработки данных нагрузочного тестирования 111
3.4. Эксперимент на правомерность подмены условий 117
3.5. Выводы по главе 3 127
Основные результаты работы 128
Литература
- Принципы технологий распределенных компонент
- Краткий обзор технологии объекта исследования
- Определение концепций и описание нового метода
- Экспериментальное ПО и аппаратное обеспечение нагрузочного тестирования
Введение к работе
В настоящее время совершается переход от статичной централизованной структуры информационных систем (ИС) к динамичной гибкой структуре, основанной на системах получения и обработки информации, построенных с помощью современных технологий и распределенных в вычислительных сетях компонент (РК) [2, 104]. К таким технологиям РК (ТРК) относятся, например, J2EE [24], .NET [48, 80, 123] и CORBA [58, 154, 155]. ИС - это система, получающая входные данные, осуществляющая обработку этих данных и/или изменение собственного внутреннего состояния/связей/отношений; выдачу результата, либо изменение своего внешнего состояния/связей/отношений) [45, 46, 63, 79]. Под распределенными ИС (РИС) будем понимать программные комплексы, составные части которых функционируют на разных компьютерах в вычислительной сети. На практике РИС используются все чаще и чаще [27]. Отличительной чертой большинства современных РИС является необходимость обслуживать большое количество клиентов (часто здесь речь идет уже не о сотнях, а о тысячах и десятках тысяч пользователей) [13,124,148].
Актуальность темы диссертационного исследования. В современных условиях остро необходимо разрешение проблемы практического проведения нагрузочного тестирования (НТ) РИС с использованием или имитацией большого количества (сотен, тысяч и десятков тысяч) пользователей и с максимальной возможной эффективностью НТ. Это обусловлено тем, что:
сейчас остается актуальным вопрос о быстрой и качественной разработке РИС [48], на которую сильно влияет эффективность НТ как одного из этапов процесса разработки;
желательно, чтобы РИС соответствовала аналитическим спецификациям и нефункциональным требованиям уже на ранних этапах процесса разработки (ПР) РИС, что целесообразно подтвердить с помощью НТ [94];
3)учет особенностей и основных различий в характеристиках типичных современных РИС и ТРК, а также часто встречающихся условий НТ позволяет достичь более высокой эффективности процесса НТ [104].
5 Ценность НТ в процессе разработки любой современной РИС сложно
переоценить. НТ должно выявить и доказать конкретные значения
нефункциональных свойств, которые отражаются в аналитических
спецификациях и требованиях заказчика. В конечном счете, НТ ускоряет
достижение конечных целей проектов разработки РИС. Поэтому исследование
новых подходов к НТ для решения этой проблемы также чрезвычайно важно и
актуально. Это и послужило толчком к разработке нового метода построения
комплекса НТ РИС (КНТРИС). Этот оригинальный метод призван эффективно
помочь в разрешении поставленной и очень актуальной проблемы. Ко всему
прочему, необходимо, чтобы при применении нового метода имитация
реальных условий работы была удовлетворительной [95, 97]. При
использовании нового метода имеют место следующие ограничения и
адекватные условия практического применения:
количество требуемых при НТ виртуальных пользователей (ВП) достаточно велико (несколько десятков и выше); целесообразность и эффективность применения нового метода не должны падать при увеличении количества ВП.
протокол уровня приложения между клиентской частью (КЧ) и серверной частью (СЧ) РИС (сервером приложений - СП; или кластером СП -КСП) является достаточно сложным и/или неизвестным и/или закрытым для сторонних разработчиков (например, ТЗ, T3S, RMIAIOP, DCOM);
клиентская часть РИС имеет графический пользовательский интерфейс (GUI; например, Java Swing API [148] или Windows Forms и Web Forms [124]);
в качестве клиентской части РИС используется "толстый" клиент [104] (например, Java или Win32 приложение);
имитация реальных условий работы путем использования ВП при НТ является приемлемой или сводимой к удовлетворительной ситуации;
желательно проведение НТ на ранних этапах процесса разработки РИС.
Такие ограничения и условия проведения НТ часто встречаются для современных РИС [13, 96, 104], что лишний раз подтверждает необходимость скорейшего решения для практики поставленных в работе задач.
Цель работы и задачи исследования. Актуальность проблемы определяет цель работы, состоящую в разработке и обосновании нового метода построения КНТРИС, помогающего решать проблему проведения НТ РИС более эффективным способом, чем при других подходах к НТ. Следствием такой разработки является повышение эффективности НТ РИС.
Для достижения данной цели в диссертационной работе были поставлены и выполнены следующие основные задачи:
^проанализировать современное состояние и проблемы предметной области рассматриваемого вопроса и известных подходов к НТ, а также выполнить сравнительный анализ современных ТРК, с помощью которых может быть разработан объект исследования;
разработать и описать новый метод построения КНТРИС;
предложить критерий эффективности процесса НТ РИС по выбранным показателям эффективности и качества;
выполнить сравнительный анализ подхода к НТ с применением нового метода и других известных подходов к НТ с использованием предложенного критерия эффективности;
предложить модель ВП, позволяющую провести НТ РИС;
экспериментально доказать практическую применимость разработанного нового метода построения КНТРИС и модели ВП для реальной РИС, разработанной с помощью ТРК; проиллюстрировать анализ экспериментальных данных, полученных с помощью реализованного КНТРИС;
исследовать и экспериментально проверить правомерность подмены определенных реальных условий работы РИС условиями процесса НТ РИС.
Объектом исследования данной работы является РИС, разработанная по технологии распределенных компонент J2EE [14, 24, 148] и включающая в себя
7 в качестве серверной части - кластер серверов приложений WebLogic [17, 23] и
СУБД Oracle, а в качестве клиентской части - Java Swing [148] приложение.
Предмет исследования — процесс разработки КНТРИС.
Рабочей гипотезой было принято положение о том, что если выявить и учесть особенности типичных современных РИС и часто встречающиеся условия НТ, то можно разработать, описать, обосновать и использовать на практике новый метод построения КНТРИС, позволяющий применять такой подход к решению проблемы НТ РИС, который будет эффективнее, чем его аналоги при оговоренных условиях.
Методология и методы проведенного исследования. Методологической и теоретической основой диссертационной работы являются следующие специальные методы:
метод объектно-ориентированного (ОО) анализа и проектирования программного обеспечения (ПО);
методы теории вычислительных систем (ВС), теории вероятностей, математической статистики;
метод разработки сложных ИС (RUP [35,115,133]).
В работе были также использованы общие методы научного познания:
методы эмпирического исследования: наблюдение, сравнение, измерение, эксперимент;
методы, используемые как на эмпирическом, так и на теоретическом уровне исследования: абстрагирование, анализ, синтез;
методы теоретического исследования: переход от абстрактного к конкретному, моделирование.
Научная новизна исследования заключаются в следующих основных положениях, которые выносятся на защиту:
новый метод построения КНТРИС;
предложенные критерии эффективности процесса НТ РИС и результаты проведенного по ним сравнительного анализа подхода, использующего новый метод построения КНТРИС и других подходов к НТ;
3) классификация первичных и вторичных показателей и артефактов РИС,
используемых при НТ;
4) модель ВП для НТ РИС.
Методы и средства тестирования РИС нужно разрабатывать с учетом специфики тех ТРК, которые лежат в основе этих систем [104]. Существующее разнообразие типов таких систем настолько велико, что разработать и применить для них универсальный метод проектирования, реализации или НТ даже в рамках одной ТРК является не простой задачей [94, 104]. К настоящему времени создано много различных подходов к тестированию, в том числе использующихся при НТ РИС и их составляющих [40-42, 74, 83, 91, 94, 104, 129, 132, 151]. В то же время, сейчас существует немного подходов к НТ РИС, разработанных для ТРК [12, 41, 61, 98, 151]. В отличие от известных подходов к НТ, в данной диссертационной работе предложен уникальный метод построения специального комплекса НТ. До настоящего времени не было предпринято попыток научно обосновать и описать такой подход к НТ РИС, который удовлетворяет перечисленным выше ограничениям, условиям применения и базируется на методе построения специальной системы, расширяющей исходную РИС и функционирующей, не используя GUI клиентской части РИС и на любой платформе, где работает РИС. В диссертационной работе сделан акцент преимущественно на разработке программной части КНТРИС.
Практическая и экономическая значимость полученных результатов. Во многих случаях разработанный в ходе работы метод построения КНТРИС позволяет применить более эффективный для решения поставленной проблемы подход, обладающий дополнительными преимуществами перед другими подходами к НТ при указанных условиях. Применение нового метода в реальном проекте позволяет достичь конечных целей НТ за более короткое время, с меньшими затратами и, в конечном счете, с лучшим значением предложенного в работе критерия эффективности при указанных условиях и ограничениях. Предложенный критерий эффективности можно использовать для оценки и сравнения разных подходов к НТ РИС. Экспериментальное
использование нового метода и модели ВП являются связующим звеном между
теоретическими основами, которые заложены в этом методе, и практическим
применением. Для практиков анализ результатов этого эксперимента является
примером того, какую информацию можно получить в результате проведения
подобного НТ. Разработанный метод построения КНТРИС применим для
разных ТРК и его можно рекомендовать для дальнейшего использования для
конкретных РИС. Модель ВП также может быть использована на практике при НТ
самого широкого спектра РИС.
Внедрение результатов. Результаты диссертационной работы были
использованы компанией ООО "Нева" (Санкт-Петербург) в проекте РИС для
организации торговли на Forex, при проведении НТ в следующем виде:
рекомендаций проведения экспериментальных исследований по сбору интересующих данных в ходе нагрузочного тестирования;
метода и процесса построения программной части КНТРИС;
высокоуровневого проектирования программной части КНТРИС;
модели виртуальных пользователей для имитации клиентской нагрузки;
5) экспериментальных данных по исследованию РИС.
Использование указанных результатов позволило: повысить качество и
эффективность процесса НТ; провести НТ с большим количеством одновременно имитируемых пользователей (свыше 1350 ВП), чем при использовании других доступных подходов; сократить затраты на организацию и проведение регулярных экспериментальных испытаний больше, чем в 5 раз; сохранить действующую процедуру тестирования и оценки качества РИС; многократно повысить производительность труда команды тестирования при проведении НТ и сократить сроки НТ.
Структура и объем диссертационной работы. Диссертационная работа состоит из введения, трех глав, выводов, списка литературы, включающего 156 наименований, и приложений. Общий объем работы - 147 страниц. Диссертационная работа содержит 68 рисунков и 15 таблиц.
Краткое содержание работы.
10 В главе 1 проводится краткий обзор современного состояния предметной
области. Приводятся принципы ТРК и краткий обзор ТРК объекта
исследования. Выполнен сравнительный анализ двух различных ТРК для
построения РИС: J2EE [148] и .NET [124]. Выделена локальная область
исследования и выполнен анализ современного состояния поставленной
проблемы НТ РИС.
В главе 2 разработан и описан новый метод построения КНТРИС. Разработан, сформулирован и описан критерий эффективности для процесса проведения НТ. Осуществлено сравнение подхода, использующего метод построения КНТРИС, с другими подходами к НТ по предложенному критерию эффективности. Описаны условия и ограничения нового метода и соответствующего подхода к НТ. Разработана и описана модель ВП для НТ.
В главе 3 показаны и описаны практическая реализация и результаты экспериментального применения нового метода построения КНТРИС. Приведено описание экспериментального аппаратного обеспечения (АО) и ПО. Приведены примеры артефактов процесса разработки КНТРИС. Описаны исходные данные, показатели, результаты и выводы проведения НТ. Включены описание и результаты экспериментов на правомерность подмены определенных реальных условий работы РИС условиями процесса НТ.
Апробация результатов диссертационной работы. Основные положения, результаты исследований и выводы, включенные в диссертационную работу, обсуждались в широком кругу специалистов, учёных, практических работников и докладывались на 4-х конференциях и семинарах:
Четвертая Международная конференция "Приборостроение в экологии и безопасности человека" в СПб ГУ АЛ (Санкт-Петербург, 2004 г.);
Первая конференция молодых учёных в СПбГУ ИТМО (Санкт-Петербург, 2004 г.);
Первая всероссийская научно-практическая конференция "Опыт практического применения языков и программных систем имитационного
моделирования в промышленности и прикладных разработках" (ИММОД 2003) в ФГУП ЦНИИ технологии судостроения (Санкт-Петербург, 2003 г.);
XXXIV научная и учебно-методическая конференция в СПбГУ ИТМО (Санкт-Петербург, 2005 г.);
постоянно действующий семинар кафедры Вычислительной Техники (ВТ) "Модели и методы исследования вычислительных систем и сетей" в СПбГУ ИТМО (Санкт-Петербург, 2002, 2003, 2004 и 2005 гг.).
Публикации. Основные результаты диссертационной работы отражены в 5 печатных научных трудах [27-31].
Благодарности. Выражается глубокая и искренняя благодарность:
научному руководителю, заведующему кафедрой ВТ СПбГУ ИТМО, доктору технических наук, профессору Алиеву Тауфику Измаиловичу за огромную помощь в работе;
доценту кафедры ВТ СПбГУ ИТМО, кандидату технических наук Тимченко Борису Дмитриевичу за ряд полезных критических замечаний;
старшему преподавателю кафедры ВТ СПбГУ ИТМО Муравьевой-Витковской Людмиле Александровне за советы и рекомендации;
аспирантам и другим сотрудникам кафедры ВТ СПбГУ ИТМО за внимание и конструктивную критику диссертационной работы на регулярных семинарах кафедры ВТ.
Принципы технологий распределенных компонент
В условиях постоянного поиска, направленного на улучшение производственных процессов, и быстрого развития вычислительной техники (ВТ) и прикладного ПО, возрастает сложность ИС. В результате требуются новые подходы и технологии для преодоления такой сложности [11, 36]. И такие новые концепции, технологии и архитектурные решения для построения, в том числе сложных ИС, появляются и используются [104]. Совершается переход от статичной, централизованной структуры ИС к динамичной, гибкой, основанной на системах получения и обработки информации, построенных с помощью РК и соответствующих ТРК [2, 104]. Менеджерам проектов, руководителям информационных служб и другим, кому приходится принимать ответственные, "стратегические" решения очень важно ориентироваться в мире этих технологий, выбор которых в значительной степени определяет успех проектов в целом.
Компонента - это независимый, заменяемый, тиражируемый и повторно используемый элемент ПО; составная часть ИС [3,11, 36, 47, 58].
Распределенные компоненты (РЮ — самостоятельные блоки программного кода, компоненты, реализующие определенную бизнес-логику и распределенные по сети; они могут быть многократно использованы и завоевали большую популярность в качестве строительных блоков при создании сложных РИС. Отсюда - особое внимание к базовым компонентным и объектным архитектурам и ТРК для создания РИС [3,11, 36, 47, 58].
Удаленный вызов процедуры (RPC) - средство передачи сообщений, позволяющее РИС вызывать сервисы разных компьютеров в сети [104]; посылка по сети сообщения, позволяющего программе, установленной на одном компьютере, инициировать выполнение нужной операции на другом; старейшая из технологий промежуточного ПО. Применяется во многих ТРК: .NET, CORBA, J2EE, Java RMI [14, 24, 58, 103, 124, 148]. На рис.1.1 показана типичная структура RPC. Механизм RPC реализует схему передачи сообщений, в соответствии с которой в РИС процедура-клиент передает специальное сообщение с параметрами вызова по сети в удаленную серверную процедуру, а результаты ее выполнения возвращаются в другом сообщении клиентскому процессу [103].
Для реализации этой схемы на КЧ и СЧ поддерживаются специальные компоненты, называемые клиентскими и серверными суррогатами. Для вызова той или иной функции КЧ обращается к клиентскому суррогату, упаковывающему аргументы в сообщение-запрос и передающему их на транспортный уровень соединения. Серверный суррогат распаковывает полученное сообщение и, в соответствии с переданными аргументами, вызывает нужную функцию, или нужный метод объекта, если речь идет об объектном варианте RPC [103].
Параметры вызова могут формироваться в отличной от ЯП серверной стороны и ОС, поэтому на клиентский и серверный суррогаты возлагаются функции преобразования аргументов и результатов в универсальное, не зависящее от конкретной архитектуры представление. Так достигается возможность взаимодействия КЧ и СЧ на различных платформах.
Основное назначение объектных технологий и моделей - поддержка разработки и развертывания сложных ОО прикладных систем [11, 34, 36, 104]. Любого отдельно взятого ОО языка программирования (ЯП) недостаточно для написания РИС. Часто различные компоненты ИС требуют реализации на разных ЯП и на разных аппаратных платформах. С помощью объектных моделей множество объектов приложения, в том числе и на различных платформах, взаимодействуют друг с другом и реализуют бизнес процессы, создавая видимость единого целого. Функции объектных технологий - это функции промежуточного ПО объектной среды. Для того чтобы обеспечить взаимодействие объектов и их интеграцию в цельную систему, архитектура промежуточного уровня должна реализовать несколько базовых принципов [11, 34, 36, 104]: независимость от физического размещения объекта, платформы и ЯП.
ТРК базируются на объектных технологиях и позволяют достичь необходимых для современных РИС качеств: 1) масштабируемость, 2) высокая доступность и, следовательно, 3) надежность, 4) многоуровневая архитектура [73].
Применение многоуровневой архитектуры осуществляется на логическом и на физическом уровне. Исторически более привычной была двухуровневая архитектура, разделение функциональности на КЧ и СЧ РИС. В итоге пришли к архитектуре с тремя уровнями, перемещающей деловую логику на средний уровень, иногда помещая этот уровень на отдельный прикладной сервер (рис. 1.2) [3, 73, 104]. В такой архитектуре все серверные операции происходят на одном или множестве серверов. Многоуровневый подход предполагает гибкое и управляемое распределение нагрузки между серверами, обеспечивает большую масштабируемость, чем решение из одного сервера [73].
Краткий обзор технологии объекта исследования
Поскольку объектом исследования является РИС, разработанная с использованием ТРК J2EE [14, 24, 148], то целесообразно провести обзор технологии J2EE. Отметим, что другие ТРК имеют аналогичные составляющие и компоненты, а также свои синхронные и асинхронные способы взаимодействия между КЧ и СЧ РИС.
Платформа J2EE состоит из набора служб, интерфейсов разработки приложений (API) и протоколов, которые обеспечивают выполняемые функции разработки многоуровневых WWW приложений [87]. На рис. 1.5 показано место основных технологий, составляющих технологию J2EE, в архитектуре разрабатываемой РИС. Использование J2EE для разработки многоуровневых РИС приводит к разделению некогда двухуровневой архитектуры на различные уровни и превращению ее в многоуровневую (рис.1.5), включающую отдельные уровни, представленные ниже. 1) Представление данных. Обычно в РИС презентацией управляет запускаемое на клиентской машине отдельное Java [148] приложение, Java апплет или браузер (с HTML представлением). 2) Динамическое создание представления данных. Несмотря на динамические возможности браузеров, для поддержки их различных типов, динамическая обработка, как правило, должна проводиться на WWW серверах с использованием JSP и Servlet или XML и XSL. В других случаях динамическая обработка или ее часть осуществляется клиентским Java приложением. 3) Бизнес логика хорошо реализуется в Session EJB. В случае "толстого" клиента часть бизнес логики может находиться в клиентском Java приложении или в Java апплете. 4) Доступ к данным реализуется в EJB с помощью JDBC. 5) Интеграция с прикладными серверными системами. Для интеграции с прикладными серверными системами (другими РИС) используются разные технологии. Выбор зависит от точной природы этих систем.
Рис. 1.5. Пример многоуровневой архитектуры приложения Так много уровней нужно для лучшей расширяемости и масштабируемости корпоративной РИС. Они позволяют каждому уровню сфокусироваться на своей специфической роли. Например, Web сервер работает с Web страницами, СП с приложениями, сервер СУБД с БД. Поскольку J2EE является надстройкой поверх стандартной редакции (J2SE), то она дает возможность использовать все ее преимущества, в том числе переносимость, доступ к БД через JDBC, технологию CORBA для взаимосвязи с существующими корпоративными ресурсами и проверенную модель безопасности [147, 148].
Реализация. J2EE предоставляет каркас, стандарт АРІ, для ПР РИС. Реализация этого стандарта оставлена для сторонних компаний. Часть компаний pea лизует лишь отдельные компоненты J2EE. Например, Tomcat в Apache обеспечивает поддержку для JSP и servlets. СП WebLogic Server от BEA Systems представляет полную реализацию спецификации J2EE [17, 23, 148]. Она включает: службу транзакций, системы безопасности и гарантированной доставки сообщений, доступ к БД, службу имен и каталогов, пулы соединений и потоков, контроль загруженности (балансировка нагрузки) и отказоустойчивость. При выборе реализации технологии построения РИС нужно тщательно анализировать и взвешивать все последствия такого выбора. ТРК J2EE обладает всеми общими основополагающими механизмами и принципами, лежащими в основе современных ТРК для РИС [148].
Определение концепций и описание нового метода
Основные высокоуровневые сущности и понятия типичной РИС (рис.2.1): 1) ИС, 2) РИС, 3) СУБД и 4) СП. Тест и КНТРИС используются для НТ РИС (рис.2.1). Большинство диаграмм в диссертационной работе выполнено в соответствии со спецификацией UML [16, 49,101,130,139]. СУБД - система 1\ СП - сервер приложений; L AS -Application Server. управления базами данных; DBMS - database management system. Сервер приложений КНТРИС РИС
Рис.2.1. Основные сущности и понятия системы Типичная упрощенная конфигурация РИС, характерная обычно для небольших проектов или для начальной стадии развития больших проектов, представлена на рис.2.2.
Рис.2.2. Диаграмма размещения РИС с одиночным СП Типичная конфигурация РИС с КСП представлена на диаграмме размещения РИС с КСП (рис.2.3). Показанные на диаграмме клиентские приложения в совокупности представляют собой КЧ РИС.
Диаграмма размещения РИС с КСП Для проведения НТ имеет смысл выявить ряд показателей и вопросов, представляющих условия, ограничения и требования к РИС. Требования к НТ чаще всего сводятся к получению экспериментальных данных, содержащих значения интересующих показателей и/или специальных первично обработанных статистических данных и отчетов. Часть вопросов, ответы на которые проясняют часто интересующие показатели, свойства и другие аспекты РИС, перечислена ниже. 1) Как определяются транзакции (что представляет каждый тип транзакции в рамках выбранной предметной области)? 2) Сколько транзакций каждого типа должно обрабатываться за единицу времени (количество транзакций / с)? 3) Какое максимальное количество одновременно работающих пользователей каждого типа должна обеспечивать РИС, и с какими показателями обслуживания? Для того чтобы формально определить показатели обслуживания, используют определения моделей ВП. 4) Какое количество ВП каждого типа должно обслуживаться РИС? 5) Какие виды протоколов должна поддерживать РИС? Например, HTTP, HTTPS, TCP, UDP, ТЗ [23], T3S [23] и т.д.
6) Какие типы протоколов должна поддерживать РИС? Безопасные или обычные, без шифрования или с шифрованием (и с каким)? Например, T3S [23], SSH, HTTPS и т.д. Также надо указать силу шифрования. Например, 56-ти битное или 128-ти битное SSL шифрование и т.д.
7) С какими внешними источниками данных или внешними системами (или РИС) взаимодействует исследуемая РИС?
8) Какое время ответа для запросов каждого типа и для пользователей какого типа должна обеспечивать РИС?
9) Какое количество отказов для запросов каждого типа, и для какого общего количества запросов является приемлемым?
10) Какие имеются в РИС ограничения на время обработки отдельно взятого типа транзакции? Например, в СП WebLogic по умолчанию имеется ограничение в 30 с на узловую транзакцию (см. дальше) [17, 23].
11) Какие есть ограничения на время доставки асинхронных сообщений каждого типа? Среднее время доставки сообщения может быть ограничено, например, 1 с. Здесь идет речь о максимальном времени доставки сообщений. Часто ограничения обусловлены потерей актуальности сообщений конкретного типа по истечении определенного времени. Например, сообщение о новой котировке через 3 с может быть уже не актуальным и, если его не удалось отправить в течение 3 с, то его вообще не надо доставлять. 12) Сколько асинхронных сообщений каждого типа в единицу времени должна обеспечивать РИС (сообщений / с) и для какого количества ВП? 13) Какие существуют ограничения на сетевой трафик (Мб / с)? 14) Какие существуют другие показатели и аспекты, которые будут напрямую представлять или косвенно зависеть от требований к РИС?
При проведении НТ, замеряют и составляют отчеты по множеству показателей. Полученные данные по изменению этих показателей, статистика и отчеты понадобятся впоследствии для анализа результатов НТ и, следовательно, получения заключительных выводов о результатах экспериментов НТ. Ниже перечислены и классифицированы три основные группы первичных показателей (рис.2.4), которые должны быть приняты во внимание для дальнейшего исследования и анализа их экспериментальных значений.
Экспериментальное ПО и аппаратное обеспечение нагрузочного тестирования
Основные выбранные технологии: 1) для реализации КСП: ТРК, платформа J2EE [148]; 2) для реализации БД: реляционная СУБД, Oracle.
Платформа J2EE была выбрана как проверенная платформа с высокой надежностью, хорошим компонентным подходом, приемлемым временем для ПР и выпуска на рынок программного продукта. Эта платформа также отличается динамическим развитием. Характеристики ПО и АО, используемых при НТ, представлены в табл.3.1 и 3.2. Замечание: ОС, в силу платформенной независимости технологии Java может быть без особых сложностей изменена [148].
Компьютеры А, В и С использовались как СП (рис.3.1). Компьютеры D и Е использовались для имитации множества ВП: на них работали КЧ КНТРИС. Компьютер F служил в качестве сервера СУБД.
Здесь будет приведен пример описания проектной архитектуры системы НТ при использовании разработанного метода построения КНТРИС.
Цель. Целью данного документа является представление детального описания и объяснения принципов проектирования, которые были применены, применяются и/или должны применяться для конструирования и построения системы. Также целью является объяснить основные контракты и фундаментальную внутреннюю структуру системы.
Содержание документа. Область рассмотрения данного документа включает в себя описание проектной архитектуры КНТРИС (далее система). РИС — целевая система, которая подвергается НТ. Также сюда включается описание отдельных частей (подсистем), составляющих эту систему, их интерфейсы, внутренняя структура, зависимости между ними, модели взаимодействия, используемые паттерны анализа, ШП и диаграммы поясняющие и раскрывающие всё вышеперечисленное. Ссылки.
Rational Rose модель [133]. Служит для хранения диаграмм и сущностей уровня анализа, а также части высокоуровневых диаграмм проектирования Together проект. Служит для хранения основных артефактов проектирования, имеющих связь с сущностями реализации. В этом разделе представлены статические аспекты системы.
Логическое представление. На рис.3.3 показаны основные подсистемы КНТРИС и взаимосвязи между ними. Назначение каждого класса/пакета представлено в табл.3.3. Соответствие пакетов/классов более высокого уровня пакетам/классам низкого уровня. В табл.3.3 показаны соответствия между подсистемами и классами, представленных на рис.3.3, 3.4 и 3.5.
Класс StaticFIPApplication (рис.3.5) служит для инициализации используемых в КНТРИС подсистем РИС (рис.3.6), поэтому разумно посмотреть на диаграмму классов со StaticFIPApplication (рис.3.5). На рис.3.5 и 3.6 все классы (пакеты) расположены в соответствии с уровнем в иерархии.
Правильные/неправильные зависимости между подсистемами. В этой части описывается допустимая и правильная организация зависимостей между подсистемами. Если придерживаться этих правил, то структура будет понятнее, а дальнейшая модификация и повторное использование будут проще и их будет легче и быстрее проводить. К тому же приверженность разрешенным направлениям исключает наличие циклических зависимостей и неправильные направления связей, которые противоречили бы логике.
На рис.3.6 показаны разрешенные направления связей между подсистемами и основными классами. Как видно из диаграммы, helpers, outsidecontrol и usercontrol находятся на одном уровне иерархии, но связи между ними запрещены. Им не надо ничего знать друг о друге. Должна быть возможность использовать их независимо, так как логически они не связаны. Подсистемы logger и common используются всеми остальными подсистемами.
Физическое представление. Компонентное представление. Диаграмма на рис.3.7 демонстрирует компоненты всей системы, включающей в себя КЧ КНТРИС, РИС и СУБД. Далее будет подробно описана проектная архитектура компоненты "КЧ КНТРИС". Как видно из диаграммы, компонента "КЧ