автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Исследование компонентной модели объектов для создания программного обеспечения и оценка производительности Web-сайтов

кандидата технических наук
Со Тхей Вин
город
Москва
год
2007
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «Исследование компонентной модели объектов для создания программного обеспечения и оценка производительности Web-сайтов»

Автореферат диссертации по теме "Исследование компонентной модели объектов для создания программного обеспечения и оценка производительности Web-сайтов"

На правах рукописи

Со Тхей Вин

ИССЛЕДОВАНИЕ КОМПОНЕНТНОЙ МОДЕЛИ ОБЪЕКТОВ ДЛЯ СОЗДАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ОЦЕНКА ПРОИЗВОДИТЕЛЬНОСТИ \УЕВ-САЙТОВ

Специальность 05 13 11 - математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук

Автор:

□03070967

Москва - 2007

003070967

Работа выполнена в Московском инженерно-физическом институте (государственном университете)

Научный руководитель

кандидат технических наук, доцент Суханов Андрей Алексеевич

Официальные оппоненты

доктор технических наук, профессор Забродин Лев Дмитриевич

кандидат технических наук, доцент Ашарина Ирина Владимировна

Ведущая организация

Московский государственный университет экономики статистики и информатики

Защита состоится « 30 » Мая 2007г в 16 00 часов на заседании диссертационного совета Д 212 130 03 в Московском инженерно-физическом институте (государственном университете) по адресу 115409, г Москва, Карширское шоссе, Д 31,

С диссертацией можно ознакомиться в библиотеке института Автореферат разослан « » Ьпрс^* 2007 г.

Ученый секретарь диссертационного совета д.т н, профессор

Шумилов ЮЮ

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ Актуальность темы. В настоящее время компьютеры широко используются практически во всех сферах профессиональной деятельности В связи с этим проблема создания эффективного и надежного программного обеспечения приобретает первостепенное значение Технологии создания приложений на основе модели компонентно-ориентированного программирования, исследуемые в настоящей работе - ещб один шаг к созданию более совершенных, те более надежных и эффективных программ Они предоставляют принципиально новые и весьма обширные возможности, как пользователям, так и разработчикам программного обеспечения

Особенно актуальным исследование применения технологии компонентного программирования для создания эффективных программ стало в связи с всеобъемлющим использованием сети Internet и разработкой большого количества сайтов Известно, что web-приложения могут создавать значительную нагрузку на сервер и стать "узким " местом, ограничивающим производительность работы пользователя в сети, а от этого в значительной мере зависят и варианты взаимодействия пользователя с сетью Известно, что 10 сек - это предельное значение времени отклика, после наступления которого у пользователя теряется ощущение реальной работы с данными Приемлем производительность Web-сайтов зависит от многих факторов и, в том числе, от кода используемого приложения и его архитектуры Массовый пользователь регулярно в процессе своей деятельности сталкивается с необходимостью оценить и, по-возможности, спрогнозировать производительность компьютерных систем или отдельных компьютеров Исследования времени отклика при взаимодействии пользователя с компьютером проводились с момента его появления и, тем не менее, до настоящего времени нет подходящего для массового пользователя решения этой проблемы В связи с этим актуальной является и проблема оценки производительности и настройки Web-приложения

Целями диссертационной работы являются • Исследование методов применения компонентно-ориентированного программирования к построению прикладных программ,

• разработка математических моделей для эффективной оценки производительности программно-аппаратных комплексов

Для достижения поставленных целей необходимо решение следующие задачи:

• Провести анализ фундаментальных подходов и технологий (COM, СОМ+ и Windows DNA), разработанных фирмой Microsoft, к построению программного обеспечения в среде Windows

• Разработать методику применения архитектуры Windows DNA к созданию распределенных корпоративных приложений масштаба предприятия

• Провести анализ существующих методов и инструментальных средств оценки производительности веб-приложений

• Разработать модель оценки производительности Internet-приложений

• Реализовать программно, разработанные методы и модели для решения практических задач обеспечения учебного процесса по оценке производительности программно-аппаратных систем

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

Научная новизна работы состоит в том, что:

• Разработан новый подход к проведению оценки производительности сетевых приложений на основе методов планирования эксперимента

• Разработана методика проектирования масштабируемых приложений на основе модели компонентных объектов

• Разработана имитационная модель нагрузки сетевых приложений на основе применения сетей Петри

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

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

• провести ускоренную оценку времени отклика приложения на посылаемые запросы при известных основных аппаратных характеристиках системы,

• осуществить прогнозирование времени отклика приложения при изменении основных характеристик системы,

• произвести определение аппаратных характеристик системы (синтез характеристик) при априорно задаваемом времени отклика Результаты и внедрение работы. Основные результаты работы были

реализованы в виде экспериментального У/еЬ-приложения с функциональностью Интернет — магазина; имитационной модели нагрузки Web-пpилoжeния в виде сети Петри, регрессионной модели, созданной на основе методов планирования экспериментов Результаты диссертационной работы внедрены в учебный процесс кафедры «Информационные Технологии» МИФИ (курс лекции и лабораторный практикум) Отдельные теоретические и практические результаты использовались лично автором при проведении занятий со студентами Союза Мьянма

Апробация результатов работы. Работа в целом и отдельные её результаты докладывались и обсуждались на научных конференциях МИФИ в 2005-2007 гг, а также на научных семинарах кафедры «Информационные технологии»

Публикации. По теме диссертации опубликовано три работы, полностью отражающие основные научные результаты

Структура и объем работы. Работа состоит из введения, четырех глав, заключения и приложений Основной материал изложен на 100 страницах и содержит 30 рисунков Список литературы содержит 45 наименований В приложениях приведены основные результаты применения комбинированного метода, моделирования клиент -серверных систем

На защиту выносятся:

• методика и алгоритмы создания пользовательских приложений масштаба предприятия

• модель исследования рабочей нагрузки приложения на основе сети Петри

• математическая модель оценки производительности "№еЬ-сайтов

• новый подход к проведению оценки производительности сетевых приложений на основе методов планирования эксперимента

СОДЕРЖАНИЕ РАБОТЫ Во введении обосновывается актуальность темы диссертационной работы, формулируются основные положения и цель, а также задачи исследования Определяется научная новизна, практическая значимость

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

• презентационные сервисы, или «тонкие» клиенты,

• сервисы бизнес-логики, или сервисы промежуточного слоя — middle tier,

• сервисы данных — как правило, сервер баз данных и технологии доступа к данным

Трехуровневая структура приложения применительно к таким средствам, как динамический HTML, активная серверная страница (ASP), web-браузер и интернет-сервер, выглядит так, как показано на рис 1 В такой структуре создание и выполнение сценариев, транзакции и работу с базами данными организуется на разных логических уровнях

СОМ/СОМ+

Рис 1 Архитектура 3-х уровневого web-приложения, применительно к IIS, ASP и

СОМ/СОМ+

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

системные службы (System Services) Инструментальные средства включают в себя сценарии, создание компонентов, использование технологии RAD и стандартных средств разработки Системные службы объединяют такие стандартные компоненты инфраструктуры, как службы каталогов, безопасности, управления, связи и сетевые службы Доступ к элементам всех трех уровней и их объединение осуществляется с помощью модели СОМ/СОМ+ Общее представление структуры Windows DNA в многоуровневом приложении показано на рис 2

Рис 2 Структура Windows DNA Ценность компонентного подхода заключается в том, что он позволяет разработчикам программного обеспечения создавать приложения для онлайновой службы на основе программных компонентов, поставляемых в двоичном коде и готовых к развертыванию на любом уровне модели приложений Эти компоненты поддерживают компоновку программных пакетов, разделение систем на подсистемы и обеспечивают распределенную функциональность Компонентная модель позволяет разрабатывать приложения для любых структур путем включения в них программного кода любого типа или функциональности приложений, например, службы управления интерфейсом пользователя или бизнес-объекта Компонент может иметь один или несколько интерфейсов, причем каждый из них предоставляет набор методов и свойств, которые можно получить по запросу и установить с помощью других компонентов и приложений Например, компонент реализующий модель покупателя в системе может предоставлять пользователю различные свойства имя, адрес и номер теаефона

Для удобства проектирования многоуровневых приложений с явным разделением обязанностей между уровнями в среде Windows DNA широко используется шаблон проектирования MVC (Model-View-Contruücr - «Модель-Представление -Ко нтролдер»). Применение шаблона MVC позволяет избежать дублирования кода и построить приложение с разделением бизнес - логики и

Хоктршшер

Службы и резевтаца!

11 ре it* г ¡ш и они a j

м о .it ль

Представлен и

MSMQ

представления.

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

Команда словарей

Sei- - ■ ■■■ v ■ у,:.:.

* Службы базы i данных У

% 1 f! тмт

Рис. 3. Распределённый шаблон MVC в трех урони с вам приложении Windows DNA

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

• Разделение модели системы на клиентскую и серверную части

• Создание процедур маршалинга и демаршалинга компонентных объектов на стороне клиентов и серверов

• Проектирование команд серверной части для выполнения автоматической классификации и интерпретации данных транзакции

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

Декомпозиция, поддерживаемая методологией Executants and Emissaries, разбивает уровень бизнес логики на два логических подуровня - подуровень исполнения (Executants), который предназначен непосредственно для исполнения бизнес-операций и подуровень представления (Emissaries), который предназначен в первую очередь для обеспечения эффективного взаимодействия между уровнем представления и подуровнем исполнения

Во второй главе описана разработка методики применения технологии компонентного программирования для создания Internet - приложений пользователя, на примере магазина электронной коммерции

Основными этапами этой методики являются следующие этапы.

• Постановка задачи и определение требований к приложению

• Функциональная декомпозиция приложения по уровням

• Выбор инструментальных средств, используемых на каждом уровне

• Программная реализация функциональности каждого уровня

• Отладка и тестирование приложения

Ниже сформулированы основные требования к функциональности Internet -приложения со стороны пользователя и со стороны администратора Требования со стороны пользователя Пользователь должен иметь возможность-

• Просматривать информацию о новостях и еженедельных журналах

• Добавлять элементы в корзину пользователя

• Удалять элементы из корзины пользователя

• Просматривать информацию о книгах и ценах

• Получать уведомление о готовности заказа. Требования со стороны администратора

• Просматривать информацию о совершенных заказах

• Просматривать сумму на личном и безналичном счете заказчика

• Просматривать информацию о пользователях и организациях, сделавших заказ

• Заменять статус заказа и уведомлять пользователя о готовности заказа

Для реализации этих требований на уровне бизнес логики были созданы классы и компоненты, исполняемые на серверной стороне

Для серверной стороны были созданы классы cDatabase, cCustomerDB и cCustomer и компоненты (DButility.dll, customerDB.dll и customer.dll), которые реализуют функции покупателя

Класс cDatabase, содержит описание методов выполнения хранимых процедур или операторов SQL Данный класс предназначен для

• скрытия технологии и деталей реализации доступа к данным

• обеспечение независимости от источника данных

Ниже в качестве примера приведены имена и назначение методов класса cDatabase.

Метод ExecSP - предназначен для выполнения хранимых процедурой, которые не возвращает никаких данных, а предназначены для обновления или удаления записей

Методы ExecSQL, ExecSQLReturnRS, ExecSQLReturnVArray - позволяют формировать команды языка SQL для поиска и выборки нужны данных

Метод ExecSPReturnRS - обеспечивает выполнение хранимых процедур и возвращаение набор записей (RecordSet), в отличие от метода ExecSP. Метод ExecSPReturnVArray - возвращает массив набора записей

Для реализации методов, обеспечивающих работу с базой данных, был создан класс cCustomerDB, содержащий описание следующих методов.

Метод Insert - обеспечивает добавление нового покупателя (имя, пароль и адрес и тд)

Метод GetData - обеспечивает извлечение данных о покупателе (имя, адрес и детали заказов)

Метод Update - обеспечивает обновление информации о покупателе (имя, адрес и детали заказов)

Метод GetlDfromLogin - обеспечивает вход в сайт (проверку имени и пароля)

Метод Search - обеспечивает поиск покупателя в базе данных по имени пользователя

Класс cCuslomer содержит методы обращения со стороны клиента

Метод Add - обеспечивает добавление нового покупателя (имя, пароль, адрес и т д) в базу данных, путем вызова метода Insert класса cCustomerDB

Метод GetDetailsBylD - обеспечивает извлечение данных о покупателе (имя, адрес и детали заказов) в базу данных, путем вызова метода GetData класса cCustomerDB

Метод Update - обеспечивает обновление информации о покупателе (имя, адрес и детали заказов) в базу данных, путем вызова метода Update класса cCustomerDB

Метод GetlDfromLogin - обеспечивает вход в сайт (проверку имени и пароля) в базу данных, путем вызова метода GetlDfromLogin класса cCustomerDB

Метод SearchByName - обеспечивает поиск покупателя в базе данных по имени пользователя в базу данных, путем вызова метода Search класса cCustomerDB

Остальные компоненты, реализующие обращение к таблицам базы данных с именем «заказы» и «продукты» orderDB.dll, order.dll, productDB.dll и product.dll содержат классы cOrderBasket, cOrderstatus, cBasketContents для заказов и cProduct, cProductDB для продуктов В этих классах описаны методы, которые обеспечивают

пользователям сайтов поиск информации, добавление новых заказов корзину и

получение информации о заказах и о продуктах

На следующем рис 4 показана взаимосвязь вышеуказанных модулей

Покупатель _(Customer <111)

-Добавление и регистрации покупателя (Add)

-Поиск покупателя (Search)

-Обновление покупателя (Update)

Заказ (Onkr.dll)

-Добавление новый заказ в корзину (АййО^ег) -Доступ заказов (АссерКМег)

-Удаление заказ из корзины (Нетоуейет)

Покупатель fCustomerDB dli)

-Добавление и регистрации покупателя (Insert)

-Поиск покупателя (Search)

-Обновление покупателя (Update)

Заказ (OrderDB.dll)

•Добавление новый заказ в базе данных (OrderBaskeLlnsert) -Доступ заказов (OrderBasket GetData) -Удаление заказ из корзины (CBasketContents Delete)

Продукт (Product dll)

-Восстановление деталей продукта (ОеЮеЫэВуЮ) -Восстановление списка типов продукта (Ое1Рк^ийТуреЬ181) -Поиск продуктов(ЗеагсЬ)

Продукт (ProductDB dll)

-Восстановление деталей продукта (CProduct GetData) -Восстановление списка типов продукта (CProductType GetAll) -Поиск продуктов (CProduct Search)

■ DButilitj.DLL

AppendlnputParams

ExecSP

k

ExecSPReturnV Array

ExecSQL

ExecSQLReturnRs

ExecSQLReturnVATay

hs_Customer_Add hs_OrderBasket_Search hs_Orderstatus_GetAll hs Product Search

Рис 4 Компоненты бизнес логики и сервисы компонентов (DBUtils.DLL) для коммуникации между уровнем бизнес логики и базами данных На уровне представления данных был создан пользовательский интерфейс (web-страница) с использованием технологии ASP (активные серверные страницы) с компонентами навигации, позволяющими пользователям искать информацию о продуктах, добавлять книги в корзину, оформлять заказы и т д

На уровне данных в среде Microsoft SQL Server была реализована база данных, логическая схема которой представленная на следующем рис 5

Рис. 5 Схема базы данных магазина электронной коммерции

Третья глава посвящена анализу подходов и разработке методов оценки производитсяьности кяиетгг - серверных систем. Клиент - серверная система - это сочетание аппаратной платформы, операционной системы, сетевого и программного обеспечения. Вес эти компоненты оказывают влияние на производительность \УеЬ-ссрверен и интрасетей. Однако, с точки зрения пользователя 'А'еЬ-саита, наиболее важными характеристиками производительности ШеЬ-ссрверов гз работе было выбрано время отклика, как наиболее важная характеристика для массового пользователя.

Временные задержки, формирующие время отклика сервера (рис.6) на поступающие от клиента запросы на обслуживание складывается из двух определяющих факторов: времени, потраченного различными сообщениями на перемещение от браузера пользователя до ^Л'еЬ-сайта - время сети - (1[(1М) и времени \\еЬ-сяйта (^»п). Время \¥с-Ь-сайта в свою очередь складывается из времени обслуживания и времени нахождении запроса в очереди (10ч{р). Так как

запрос г» течение своего Выполнения может воспользоваться ресурсами процессора несколько раз, суммарное время обслуживания } -го запроса на / - ом ресурсе характеризует время потребности в обслуживании и выражается в виде,

Кбсл, где

где - среднее время обслуживания, приходящееся на одно 1

посещение ресурса

Время нахождения в очереди (1очср.) зависит от длины очереди и определяется, как

Г ^

очер, ¿_,'ож1 , где 1ож,

время, затрачиваемое у-ым запросом на ожидание

)

доступа к / -ому ресурсу Сумма времени обслуживания и времени нахождения в очереди составляет время пребывания запроса на ресурсе В этом случае время

отклика может быть выражено как ^откл ~~ ('о&л, ^очер,)

;

Так как измерение каждого из этих времен достаточно трудоемко, то определить время отклика также очень сложно

|_ Время отклика _I

Время сети

Время «еЬ сайта

Задержка Время время обслуживания Время нахождения в очереди

передачи

Проесс- Диск сети Проеес- Диски сети

оры оры

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

В качестве имитационной модели клиент - серверной системы была выбрана раскрашенная сеть Петри

Обычная сеть Петри, формально задаваемая как ^(Р,ТД,0), где Р=(р1,р2,рЗ,р4) - конечное множество позиций, Т=(11,12,13,14) - конечное множество переходов,

I : PxT—>{0,1} - прямая функция инцидентности, О : ТхР—>{0,1} - обратная функция инцидентности,

используется для отражения статики моделируемой системы.

Для представления динамически* свойств вводится функция разметки

(маркирования сети) ц:Р{0,1,2,...}. С помощью функции ц позиции сети помечаются целыми Неотрицательными числами. При графическом задании сети Петри разметка отображается помещением внутри вершин-позиций соответствующего числа точек, называемых метками. Размеченная сеть Петри формально описывается следующим набором N М=(Р,Т,1,0, цо), ц« - начальная разметка сети.

Для облегчения визуального восприятия сети Петри, а также для ее смысловой структуризации была построена размеченная иерархическая временная сеть Петри в среде CPN Tools с моделированием временных нагрузок выполнения обращений пользователя (заявок) к web - приложению, расположенному сервере. Модель реализует три уровня обработки заявки в системе: уровень клиента, уровень сети и уровень сервера. В этой модели позиции отражают роль человека, создающего заявки, а переходы - действия, производимые сервером при обработке заявки, В данной модели используется понятие фишки для отражения перемещения заявки от клиента до сервера.

'1--("е usHJDl':DSM020 ¡",2>*V i:C;CLBtMo2","OONt>at)í,,,5)

1 S. jéuMÑoíOrdir'NolMA { user V - —■-■-------—

1- Cu .SB !naa¡i o AC wSW).

1 inbi,oi3erHojM) ¿¿л

S*nd к ¿que El

(ÁW.OrtfírWí;

.-МД) " ; '

F-tiCnv e Result

fStrJNT]

'"iLCiv.,

Error

Рис 7. Уровень клиентов

Первый уровень иерархической сети моделирует взаимодействие пользователя и ссти (рис 7). Второй уровень иерархической сети моделирует передачу запросов по сети.

Третий уровень иерархической сети моделирует взаимодействие сечи и сервера. Па третьем уровне сервер, получив oi пользователя через сеть запрос проверяет базу данных (CheckOrderDB) (рис 8) и посылает ответ клиенту снова через сеть.

И г сстру ментальное средство CPN Tools позволяет задавать временные интервалы задержек на переходах и на стрелках, выходящих из переходов. Перемещение запроса но сети моделируется перемещением фишек.

BirderС

■3 eifcnt serv«r

if (Dri&rMo-ÜKi

SrWsSbo (Su№-MA) „ . -

■ Вип1'(т.й,й,гналч 8 Г

-------- ülj;a emrt-w .-' • ' ■ ■ -,

ГрНИ jfc

(AN.OfderHOr

o—

JAN.

(AN.OrdartJo, MA]

JrilerNO, d (0(dsrMo-6li)

anaalso (:-..-> -H.v than l .t Ii. n■

Request '

■e -■ t ив 1'(Err,sum)

Se emptr

(ANiOrcsrNO,

Асей'е Order

ItlüMfi im) ■ &)) I'lt! ODN02Dl-',i)+* 0QNO202 . <]■ ■

f' Cbatl. ,"OOKiJS0r,S)®l!*i»|

v^crqderijc^. J.(2,,'(n;Nti:Ci2',.4)OI>+++!

;— ordt1 (э.-воадгоэ'.чШ \

!АМ.ОП1«ГМО, мд).

Ki:

. tstr.WT) Orif&f (Str.] КГ) /

if Error

Respond

Рис 8 Уровень серверов В результате работы модели иерархической сети можно получить:

• обшее качество заявок в системе, количество заявок за определенный период и длительность данного периода.

• суммарное время задержки за определенный период.

Результаты работы модели (суммарное время задержки) были использованы для построения модели оценки производительности ШеЪ-сайта с использованием методов планирования эксперимента (ПФЭ и ДФЭ).

Для представления времени отклика Web-cepвepa на запросы пользователя была выбрана линейная полиномиальная вида

М(Х) = ¥{хрх2,.. ,хи)=/?0 + +1 Р1х1х] + .

Где XI х„- входные факторы в условных единицах, а М(У=)7(х1,х2, ,х„) -математическое ожидание функции отклика

Выборочные коэффициенты регрессии Ьо, Ь, ,ЬЦ, являющиеся оценкой теоретических коэффициентов /?в, /?„ вычисляются в соответствии с выражением приведенным ниже

Л'

2 х ш у~и

Оценка функции отклика у (Ь0, Ъи b,J) вычисляется по результатам проведенных экспериментов

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

Реальные экспериментальные данные для их использования в сети Петри выбирались на основании проведения нагрузочного тестирования, которое осуществлялось с применением средств нагрузочного тестирования Microsoft Application Center Test (ACT) Это средство позволяет смоделировать большую группу пользователей путем открытия нескольких подключений к серверу и быстрой отправки HTTP-запросов Для создания нагрузки на Web - сайт был разработан ряд алгоритмов и тестовых сценариев Один из примеров, разработанных алгоритмов показан на рис 9

Результаты тестирования использовались для выбора уровней варьирования физических переменных и определения оценки функции отклика при построении регрессионных моделей

В качестве выходных параметров для проведения тестирования были выбраны следующие параметры

• количество виртуальных пользователей

• задержка между запросами

• время тестирования

Рис 9 Алгоритм прохождения запроса в клиент - серверном приложении электронного Internet - приложения

Заключение

В заключении приведены основные результаты диссертационной работы

Основные результаты работы

1. Разработана методика проектирования масштабируемых приложений на основе модели компонентных объектов

2 Построена модель клиент - серверной системы на основе размеченной сети Петри и получены результаты моделирования для построения модели Web-сервера

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

4 Построены модели Web-сервера на основе применения методов планирования эксперимента

5 Разработаны алгоритмы и тестовые сценарии для применения средств нагрузочного тестирования, использованные для моделирования нагрузки web-сервера

Основные публикации по теме диссертации

Сисок опубликовынных работ по теме диссертации

■ А А СУХАНОВ, СО ТХЕЙ ВИН, «Исследование возможностей среды Visual Basic для создания приложения на основе модели компонентных объектов» Научная сессия МИФИ 2004»

■ А А СУХАНОВ, СО ТХЕЙ ВИН, «Web - портал кафедры и анализ производительности Web-приложений» Научная сессия МИФИ 2005»

■ СО ТХЕЙ ВИН, «Сравнение производительности приложений, создаваемых на основе объектно-ориентированного подхода и технологии компонентных объектов» Научная сессия МИЭ'Г 2007»

Подписано в печать 26 04 2007 г Исполнено 27 04 2007 г Печать трафаретная

Заказ № 494 Тираж 75 экз

Типография «11-й ФОРМАТ» ИНН 7726330900 115230, Москва, Варшавское ш , 36 (495) 975-78-56 здчто.атогеГеШ ги

Оглавление автор диссертации — кандидата технических наук Со Тхей Вин

Введение.

1 Принципы проектирования распределенных приложений в среде Windows.

1.1 Фундаментальные основы Windows DNA.

1.2 Архитектура современных приложений.

1.3 Инструментальные средства и шаблон MVC.

1.4 Компонентный подход и технологии Интернета.

Выводы по главе.

2 Методика проектирования распределенных приложений.

2.1 Основные этапы и формулировка требований.

2.2 Декомпозиция по уровням и создание компонентов.

2.3 Выбор инструментальных средств.

Выводы по главе.

3 Комбинированный подход к оценке производительности.

3.1 Анализ факторов и показателей производительности.

3.2 Моделирование и измерение производительности.

3.2.1 Аналитическое и имитационное моделирование.

3.2.2 Измерение производительности.

3.2.3 Имитационное моделирование и Сети Петри.

3.2.4 Построение имитационной модели Web-сайта.

3.3 Математическое моделирование на основе методов планирования эксперимента.

3.3.1 Общая постановка задачи планирования экспериментов.

3.3.2 Полный факторный эксперимент (ПФЭ).

3.3.3 Дробный факторный эксперимент (ДФЭ).

Выводы по главе.

4 Планирование измерительных экспериментов и получение оценок показателей производительности.

4.1 Составление плана тестирования производительности.

4.2 Выбор инструментов нагрузочного тестирования.

4.3 Проведение и оценка результатов тестирования.

4.4 Построение и анализ уравнения регрессии для оценки производительности

Введение 2007 год, диссертация по информатике, вычислительной технике и управлению, Со Тхей Вин

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

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

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

2. Для достижения поставленных целей необходимо решить следующие задачи:

2.1. Провести анализ фундаментальных подходов и технологий (СОМ, СОМ+ и Windows DNA), разработанных фирмой Microsoft, к построению программного обеспечения в среде Windows.

2.2. Разработать методику применения архитектуры Windows DNA к созданию распределенных корпоративных приложений масштаба предприятия.

2.3. Провести анализ существующих методов и инструментальных средств оценки производительности web-приложений.

2.4. Разработать модель оценки производительности Internet-приложений.

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

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

Научная новизна работы состоит в том, что:

1. Разработан новый подход к проведению оценки производительности сетевых приложений на основе методов планирования эксперимент

2. Разработана методика проектирования масштабируемых приложений на основе модели компонентных объектов

3. Разработана имитационная модель нагрузки сетевых приложений на основе применения сетей Петри.

Практическая ценность. Практическая значимость работы состоит в том, что проведенный комплекс исследований, разработанные методы, методики и модели, предназначенные для оценки производительности web - приложений, позволяют:

1. в процессе проектирования сократить время создания приложений за счет применения готовых отлаженных компонент с известной функциональностью;

2. провести ускоренную оценку времени отклика приложения на посылаемые запросы при известных основных аппаратных характеристиках системы;

3. осуществить прогнозирование времени отклика приложения при изменении основных характеристик системы;

4. произвести определение аппаратных характеристик системы (синтез характеристик) при априорно задаваемом времени отклика.

Результаты и внедрение работы. Основные результаты работы были реализованы в виде экспериментального Web-приложения с функциональностью Интернет - магазина; имитационной модели нагрузки Web-приложения в виде сети Петри; регрессионной модели, созданной на основе методов планирования экспериментов. Результаты диссертационной работы внедрены в учебный процесс кафедры «Информационные Технологии» МИФИ (курс лекции и лабораторный практикум). Отдельные теоретические и практические результаты использовались лично автором при проведении занятий со студентами Союза Мьянма. Апробация результатов работы. Работа в целом и отдельные её результаты докладывались и обсуждались на научных конференциях МИФИ в 2004-2007 г, а также на научных семинарах кафедры «Информационные технологии». Публикации. По теме диссертации опубликовано три работы, полностью отражающие основные научные результаты.

Структура и объем работы. Работа состоит из введения, четырех глав, заключения и приложений. Основной материал изложен на 100 страницах и содержит 30 рисунков. Список литературы содержит 45 наименований. В приложениях приведены основные результаты применения комбинированного метода оценки производительности клиент - серверных систем. На защиту выносятся:

1. методика и алгоритмы создания пользовательских приложений масштаба предприятия

2. модель исследования рабочей нагрузки приложения на основе сети Петри

3. математическая модель оценки производительности Web-сайтов

4. новый подход к проведению оценки производительности сетевых приложений на основе методов планирования эксперимента

Заключение диссертация на тему "Исследование компонентной модели объектов для создания программного обеспечения и оценка производительности Web-сайтов"

Основные результаты работы

1. Разработана методика проектирования масштабируемых приложений на основе модели компонентных объектов

2. Построена модель клиент - серверной системы на основе размеченной сети Петри и получены результаты моделирования для построения модели Web-сервера.

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

4. Построены модели Web-cepeepa на основе применения методов планирования эксперимента

5. Разработаны алгоритмы и тестовые сценарии для применения средств нагрузочного тестирования, использованные для моделирования нагрузки web-сервера.

Заключение

В заключении приведены основные результаты диссертационной работы.

Библиография Со Тхей Вин, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Эш Рофэйл, Яссер Шохауд «СОМ и СОМ+. Полное руководство», Москва «Энтроп» 2000.

2. Джон Мюллер "Технология СОМ+ библиотеку программиста"

3. Хльер, Скот "Создание приложений СОМ+ в среде Visual Basic. Руководство разработка." «Вильяме», 2001.

4. Understanding СОМ+, David S. Patt, Microsoft Press, 1999.

5. Разработка распределенных приложений на Microsoft Visual Basic 6.0. Учебный курс. 2000. 400c.

6. Microsoft COM Technologies, http://www.microsoft.com/com/

7. Joseph M., Enterprise Application Architecture With VB, ASP and MTS, Wrox Press Ltd. 1999,

8. Шелли Паузрс «ASP компоненты. Для профессионалов» Питер, 2002.- 832 с.

9. Сулейман ЛАЛАНИ, Разеш ЧАНДЭК, Библиотека программиста ActiveX 2000 г.

10. Ю.Скотг Палмер, VBScript и ActiveX Библиотека программиста, Санкт-Петербург, 1999г.11. "Unraveling Windows DNA" by Robert Hess, MSDN Library12. http://www.microsoft.com/dna -(Microsoft DNA Home)

11. Designing for Scalability with Microsoft Windows DNA, Sten Sundblad and Per Sundbland, Microsoft Press,2000. -453c.14. «Как программировать для Internet & WWW », Internet and World Wide Web. How to Program, Харви Дейтел, Пол Дейтел. 2002 г.

12. Windows 2000 Server. Учебный курс MCSE. М.: изд-во Русская редакция, 2000.-612с.

13. Администрирование сети на основе Microsoft Windows 2000. Учебный курс MCSE. М.: изд-во Русская редакция, 2000. - 512с.

14. Windows 2000 и Windows Server 2003. Администрирование серверов и домен Чекмарев А, изд-во Русская редакция, 2003.

15. Вишневский А. Служба каталога Windows 2000. Учебный курс. СПб.: Питер, 2001.-464с.

16. А.А.СУХАНОВ, СО ТХЕЙ ВИН, «Исследование возможностей среды Visual Basic для создания приложения на основе модели компонентных объектов». Научная сессия МИФИ 2004»

17. Distributed MVC: An Architecture for Windows® DNA Applications http://www.roguewave.com

18. А.Павлов. «CGI-программирование», Питер. 2001г. с 416c

19. Технический обзор Internet Information Services (IIS) 6.0, Апрель 2003 г. Stress

20. Integrated approach to web performance testing : a practitioner's guide/ B.M. Subraya, editor.

21. Web and Application Server Infrastructure Performance and Scalability, Bill Karagounis, 2003.

22. Chang, C. (WMC2003). Web application stress test and data analysis. Unisys electronic document distributed at http://webtool.rte.microsoft.com (Accessed on September 17,2003.)

23. Testing Data Access Components in Windows DNA Applications, Mike Schelstrate, March 2000.

24. Lilja, D.J. (2000) Measuring Computer Performance: A Practitioner's Guide. Cambridge University Press, Cambridge.

25. Computer Systems Performance Evaluation and Prediction, by Paul J. Fortier and Howard E. Michel, Digital Press © 2003 (525 pages).

26. Асатурян В.И. Теория планирования эксперимента: Учеб. пособие для вузов. -М.: Радио и связь, 1983.-243 с.

27. Чалый В.Д. Планы эксперимента высоких порядков для идентификации объектов. М: МИФИ, 1987.

28. Web Performance Testing and Measurement: a complete approach,G. Cassone,

29. G. Elia, D. Gotta, F. Mola, A. Pinnola, 2001.

30. Тестирование производительности Web-серверов, Сергей Рогов, Дмитрий Намиот,2001. http://www.osp.ru/os/2002/l 2/182266/ p3.html

31. А.А.СУХАНОВ, СО ТХЕЙ ВИН, «Web портал кафедры и анализ производительности Web-приложений». Научная сессия МИФИ 2005»

32. СО ТХЕЙ ВИН, «Сравнение производительности приложений, создаваемых на основе объектно-ориентированного подхода и технологии компонентных объектов». Научная сессия МИЭТ 2007»

33. Казаков Ю.Б., Тихонов А.И. Методы планирования эксперимента в электромеханике: Метод, указания к выполнению лаб. работ / Иванов, гос. энергетический ун-т. Иваново, 2001. - 28 с.

34. Питерсон Д. Теория сетей Петри и моделирование систем. М.: Мир, 1984, -264 с.

35. Ломазова И.А., "Вложенные сети Петри: моделирование и анализ распределительных систем с объектной структурой", научный мир, 2004 г.,208с.

36. Верификация Estelle-спецификаций распределенных систем посредством раскрашенных сетей Петри.// Под ред. Непомнящего В.А., Шилова Н.В. -Новосибирск, 1997.

37. Т. Мурата, «Сети Петри: Свойства, анализ, приложения», ТИИЭР, т.77, №4, апрель 1989.

38. Netjes М, etc. Analysis of resource-constrained processes with Coloured Petri Nets Eindhoven University of Technology, Netherlands.

39. Jensen K. Introduction to the practical use of Coloured Petri Nets -http://www.daimi.au.dk/~kjensen/

40. Kristensen Lars M., Christensen S., Jensen K. The practitioner's guide to Coloured Petri Nets Springer-Verlag,1998.