Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

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

Данная диссертационная работа должна поступить в библиотеки в ближайшее время
Уведомить о поступлении

Диссертация, - 480 руб., доставка 1-3 часа, с 10-19 (Московское время), кроме воскресенья

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Рачинский Евгений Станиславович. Анализ производительности распределенных информационных систем : автореферат дис. ... кандидата физико-математических наук : 05.13.11 / Рачинский Евгений Станиславович; [Место защиты: С.-Петерб. гос. ун-т].- Санкт-Петербург, 2010.- 16 с.: ил. РГБ ОД, 9 10-4/1256

Введение к работе

Введение

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

Сложность разработки крупных клиент-серверных приложений,

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

Актуальность

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

математических моделей для реальных систем - не просто получить достоверные значения для всех многочисленных параметров таких моделей. На практике чаще применяются подходы третьего направления: с помощью различных специализированных программных средств исследуются уже существующие системы или их прототипы путем измерения показателей производительности по реакциям систем на внешне контролируемые воздействия. Однако открытой проблемой таких инструментов является гибкость, то есть обеспечение возможности имитации достоверной нагрузки и оценки различных характеристик производительности с учетом многочисленных индивидуальных особенностей реальных систем, а так же наличие способов интеграции с другими инструментами обеспечения качества ПО. Дело в том, что крупные клиент-серверные системы имеют многочисленные индивидуальные черты. Они используют закрытые коммуникационные протоколы, имеют различные архитектурные особенности, при их создании и сопровождении часто используются специфические средства разработки и т.д. Существует ряд готовых инструментов (HP Loadrunner, IBM Rational Performance Tester и др.), но они эффективны только для конкретных типов систем и узкого круга средств разработки, и к тому же они имеют очень высокую стоимость. Настройка подобных систем с учетом многочисленных нестандартных особенностей конкретных клиент-серверных систем является очень трудоемкой задачей и во многих случаях невозможна.

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

Результаты, выносимые на защиту

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

  1. Создана модель распределенной нагрузки для клиент-серверной системы, позволяющая гибко управлять нагрузкой во время эксперимента, в том числе динамически менять параметры нагрузки в зависимости от отклика системы.

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

  3. Создана архитектура расширяемой и гибко настраиваемой компонентной технологии PEToDA (Performance Evaluation Tools on Demand Assembling), основанная на платформе Eclipse и позволяющая реализовывать различные расширения, учитывающие особенности исследуемых систем, в частности, различные протоколы и способы взаимодействия клиентов и сервера, разнообразные методы регистрации измерений, семантики откликов системы, способы статистического анализа измерений.

  4. Выполнена реализация технологии PEToDA на платформе Java/Eclipse.

  5. Создана методика развертывания технологии PEToDA при использовании в разработке клиент-серверных распределенных систем, позволяющая учитывать их индивидуальную специфику.

  6. Выполнена апробация технологии PEToDA для анализа производительности двух крупных клиент-серверных систем: внутреннего Web-портала компании Siemens (Мюнхен, Германия) и системы управления информацией о продукции компании Heiler Software (Штутгарт, Германия).

Новизна

Новой идеей является динамическое управление параметрами нагрузки в зависимости от отклика системы прямо во время нагрузочного эксперимента. Существующие программные продукты лишены такой возможности, но ее наличие позволяет существенно повысить эффективность нагрузочных экспериментов, сократить время, требуемое для проведения эксперимента, и повысить точность результатов.

Новизной обладает также предложенная в работе идея конфигурировать все аспекты нагрузочного эксперимента программно, в частности, описывать сценарии и стратегии нагрузки на языке программирования общего назначения (на языке Java), а не с помощью интерпретируемых настроек, как это реализовано в таких средствах, как HP Loadmnner, ТРТР или Silkperformer. Такой подход неэффективен, если клиент-серверная система, для которой разворачивается технология, не имеет индивидуальной специфики. Но крупные клиент-серверные приложения, как правило, имеют такую специфику. Поэтому использование обычного языка программирования, концепции расширяемых frameworks, а также компонентная архитектура PEToDA - все это позволяет точно, эффективно и с приемлемыми трудозатратами реализовать нужную в проекте функциональность по анализу производительности.

Технология PEToDA основывается на концепции расширяемых frameworks, которая активно развивается и используется в сообществе Eclipse. Однако до сих пор в области анализа производительности не было создано ни одной подобной технологии.

Публикации и доклады

Основные результаты диссертации отражены в работах [1-5]. Статья [1] опубликована в журнале, входящем в перечень ВАК. Статьи [3, 5] написаны в соавторстве. В работе [3] соискателю принадлежит постановка задачи и схема изложенного подхода (раздел «Proposed Approach: Process»). В работе [5] соискателю принадлежат разделы «Common Performance Modeling Techniques» и «Service Performance Emulation».

Результаты работы докладывались также на европейском Eclipse-форуме в 2009 году в городе Ludwigsburg, Германия (название доклада - «Building a Load Testing Tool Using Eclipse Technologies»), а также на международной конференции SQA Days 2008, Москва (название доклада - «Компонентная среда разработки инструментария нагрузочного тестирования»).

Апробация

Технология PEToDA использовалась при решении ряда практических задач: при анализе производительности и планировании возможностей (Capacity Planning) корпоративного портала компании Siemens (Мюнхен, Германия), а также при разработке инфраструктуры нагрузочного тестирования системы по управлению информацией о продукции крупного промышленного предприятия (Heiler Software, Штутгарт, Германия). Помимо промышленных испытаний был произведен ряд лабораторных апробаций технологии: поиск оптимальных значений параметров Web-сервера Apache и построение эмпирической модели времени отклика Web-службы авторизации.

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

системы вычислялось так: t = -JL, где t, - это время ответа системы на воздействия в

рамках одной итерации нагрузочного сценария, an- количество итераций. Средняя частота ответов системы вычислялась следующим образом: Д = —, где ns - это

количество успешных итераций нагрузочного сценария, а Т— промежуток времени, в котором производится оценка. В случае, когда коэффициент загруженности системы приближается к 1, частота ответов приближается к максимальной пропускной способности системы для данного типа сценариев. Частота отказов определялась так:

ё = —, где пе - это количество итераций нагрузочного сценария, в которых произошли

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

Структура и объем диссертации

Похожие диссертации на Анализ производительности распределенных информационных систем