автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.13, диссертация на тему:Разработка методов и средств оценки эффективности функционирования web-серверов

кандидата технических наук
Пуцко, Николай Николаевич
город
Москва
год
2005
специальность ВАК РФ
05.13.13
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Разработка методов и средств оценки эффективности функционирования web-серверов»

Автореферат диссертации по теме "Разработка методов и средств оценки эффективности функционирования web-серверов"

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

ПУЦКО Николай Николаевич

РАЗРАБОТКА МЕТОДОВ И СРЕДСТВ ОЦЕНКИ ЭФФЕКТИВНОСТИ ФУНКЦИОНИРОВАНИЯ \VEB-CEPBEPOB

Специальность - 05.13.13 Телекоммуникационные системы и компьютерные сети

I I

I

I

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

МОСКВА 2005 г.

Работа выполнена в Московском государственном университете путей сообщения (МИИТ).

Научные руководители: кандидат технических наук, профессор

СОЛОВЬЕВ Владимир Павлович

Официальные оппоненты: доктор технических наук,

профессор БОРОДЮК Виталий Павлович кандидат технических наук СМЕНЦАРЕВ Геннадий Васильевич

Ведущая организация: Институт проблем информатики РАН

Защита состоится"_"_2005 г. в_часов на заседании

диссертационного совета Д218.005.10 при Московском государственном университете путей сообщения (МИИТ) по адресу: 127994, ГСП, г. Москва, ул. Образцова, 15, ауд._.

С диссертацией можно ознакомиться в библиотеке Московского государственного университета путей сообщения (МИИТ).

Автореферат разослан"_"_2005 года.

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

Соловьев В.П.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

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

1. На данный момент нет четко определенного понимания того, в чем заключается оценка эффективности функционирования web-cepeepa.

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

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

4. Отсутствует единая технология оценки эффективности функционирования web-серверов.

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

Целью диссертационной работы является систематизация имеющихся сведений по тестированию таких систем, и разработка общей методики для комплексной оценки эффективности функционирования web-серверов.

Задачи работы:

1. Детальное исследование особенностей работы \уеЬ-серверов.

2. Определение и обоснование набора измеряемых параметров.

3. Построение и исследование математической модели поведения \veb-сервера в процессе функционирования.

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

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

6. Разработка методики локализации «узких мест» в аппаратной части \veb-cepBepa с возможностью их последующего устранения.

7. Проверка применимости разработанной методики для тестирования произвольного \veb-cepBepa.

8. Формирование предложений и рекомендаций для тестирования реальных \уеЬ-серверов с помощью разработанной методики.

Методы исследования:

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

Научная новизна работы.

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

■ Общая методика оценки производительности, построенная на основе проведенного анализа существующих способов измерения производительности \уеЬ-серверов.

■ Разработанный программный генератор нагрузки, имитирующий принцип работы браузера пользователя.

■ Методика локализации наиболее вероятных «узких мест» в аппаратной части \уеЬ-сервера с учетом особенностей его режима работы.

Практическая ценность данной работы обусловлена предложениями и рекомендациями, обеспечивающими применение разработанной методики оценки эффективности функционирования при тестировании реальных ууеЬ-серверов. Методика позволяет выявить аппаратные компоненты, которые испытывают наибольшую нагрузку в процессе работы и использовать эти сведения при усовершенствовании \veb-cepBepa. Данная методика позволяет получать более достоверные сведения о работе \уеЬ-сервера, что дает возможность построения более качественных прогнозов. Ее примене-

ш/ #«•

ние позволит избежать финансовых потерь, которые может понести владелец \veb-cepBepa из-за непредвиденного выхода \veb-cepBepa из строя.

Достоверность результатов работы подтверждена серией модельных экспериментов исследуемых web-cepвepoв.

Основные практические результаты, выносимые на защиту.

1. Набор алгоритмов, реализующий предлагаемую методику.

2. Вспомогательные алгоритмы, разработанные для проверки достоверности предложенной методики.

3. Разработанный генератор нагрузки, имитирующий принцип работы браузера пользователя.

4. Методика локализации наиболее вероятных «узких мест» в аппаратной части тестируемого ууеЬ-сервера.

5. Предложения и рекомендации по применению на практике разработанной методики оценки эффективности функционирования \veb-cepBepa.

6. Результату, полученные в ходе тестирования и методика получения этих результатов.

Апробация работы.

Основные положения диссертационной работы докладывались и обсуждались на периодических заседаниях кафедры "Математическое обеспечение автоматизированных систем управления" МГУПС, 2002-2005 гг., а также на следующих научных конференциях:

■ Одиннадцатая международная научно-техническая конференция «Радиоэлектроника, электротехника и энергетика». МЭИ, 2005 г.

■ Десятая международная научно-техническая конференция «Радиоэлектроника, электротехника и энергетика». МЭИ, 2004 г.

■ Первая международная научная конференция. Польша. Радом, 2003г. • Десятая юбилейная международная школа-семинар. МГИЭМ, 2002г.

Публикации. По теме диссертации опубликовано 4 печатные работы.

Структура и объем работы. Диссертация состоит из введения, трех глав и заключения. Диссертация содержит 321 страницу, 57 рисунков и 22 таблицы. Список литературы насчитывает 81 наименование.

СОДЕРЖАНИЕ РАБОТЫ

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

Первая глава имеет обзорный характер. Даны определения основных терминов и понятий, используемых далее в работе. В результате анализа определяется набор параметров, которые определяют эффективность функционирования web-серверов, а именно:

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

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

В процессе исследования выполняется анализ существующих технологий тестирования. Выделяются две основные группы средств тестирования:

• Стандартные тестовые наборы, предназначенные для сравнительного анализа, такие как SPECweb, WebBench, WebStone, TPC-W;

■ Тестовые программные комплексы, представленные различными разработчиками и выполняющие тестирование по некоторой методике. Были рассмотрены Microsoft Web Application Stress Tool (WAST), Apache Jmeter, OpenSTA, LoadRunner, QALoad, PureLoad.

На основании проведенного предварительного анализа были сформулированы общие подходы к тестированию web-серверов и выявлены следующие недостатки:

■ необходимость установки агентов, для сбора внутренней информации о среде функционирования web-приложения;

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

■ при тестировании из глобальной сети для обеспечения достоверности полученных результатов, тестовые программы потребуется размещать в тех районах, откуда обращаются пользователи;

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

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

■ определение и обоснование набора измеряемых параметров;

■ исследование специфики функционирования луеЬ-серверов;

• построение математической модели состояний дуеЬ-сервера;

• построение экспериментальной установки функционирования \veb-серверов;

■ разработка метода и получение количественных оценок для выбранных параметров производительности;

■ разработка механизма локализации «узких мест» системы на основании проведенного анализа с целью их дальнейшего устранения.

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

Принимая во внимание тот факт, что все рассмотренные в первой главе показатели эффективности функционирования \veb-cepBepa достаточно емкие, для дальнейшего исследования были отобраны показатели производительности и времени отклика потому, что:

■ именно они являются наиболее значимыми оценками качества работы «'еЬ-сервера;

■ представляют наибольшую сложность для вычисления;

■ позволяют получить оценки работы web-cepвepa как с точки зрения пользователей, так и с точки зрения владельцев \veb-cepBepa.

На следующем этапе была разработана математическая модель состояний \veb-cepBepa в процессе функционирования (рис. 1).

Номер состояния обозначает количество запросов, одновременно обрабатываемых на сервере. Количество состояний для предложенной модели конечно, поскольку ресурсы любого сервера конечны. Для каждого состояния i существуют две функции, одна из которых f(t,+i) описывает переход в следующее состояние, а функция g(T,.i) - возврат в предыдущее состояние. Функции ВД и g(t) являются весовыми функциями, зависящими от времени.

Использование математической модели позволило выполнить первичный анализ и определить динамику поведения web-cepeepa, выявить и проанализировать факторы, влияющие на изменение состояний web-cepBepa. Для выбранной экспериментальной установки разработаны два алгоритма:

g(tj g('i) ïfiJ eN g(*i>

Рис. 1. Математическая модель состояний web-cepeepa

■ алгоритм группировки пакетов, передаваемых по сети;

• алгоритм определения количества одновременно обрабатываемых запросов на \геЬ-сервере.

Эти алгоритмы позволили провести первичный анализ работы \veb-cep-вера и перейти к рассмотрению и реализации методики оценки эффективности произвольного \veb-cepBepa. В результате проведения серии экспериментов можно построить зависимость времени отклика от количества одновременно обрабатываемых запросов, а зная эту зависимость можно было бы прогнозировать количество одновременно обрабатываемых запросов по заданному времени отклика.

Наиболее значимыми результатами анализа математической модели являются сведения о том, что:

■ Входной поток запросов не является пуассоновским, поскольку он не обладает ординарностью и отсутствием последействия. Свойство ординарности не выполняется потому, что достаточно часто возникают ситуации, когда на \уеЬ-сервер одновременно поступает несколько запросов. В процессе обработки запросов \геЬ-сервер выделяет для каждого из поступивших запросов некоторый квант времени на обработку. Величина кванта зависит от количества одновременно обрабатываемых запросов, что не удовлетворяет свойству отсутствия последействия.

• Сама система не является марковской цепью, поскольку набор запросов, описывающий некоторое / состояние, зависит от набора запросов, описывавших (1-1) состояние.

Математическая модель позволяет описывать работу таких \veb-серверов, которые обрабатывают только один тип запросов. Однако у реальных луеЬ-серверов обрабатывают гораздо больше типов запросов. Поэтому построение зависимости времени отклика от количества запросов, одновременно находящихся на ууеЬ-сервере, существенно усложняется из-за того, что одно и тоже количество запросов может описывать наборы из запросов разных типов (рис.2).

Рис. 2 Пример состояний для \veb-cepeepa с 3-мя типами запросов Для проведения всех экспериментов была предложена установка, изображенная на рис. 3.

ёааа caca cara

Qt mvvcmm* ta МлростмлЗ ш-мпростимэ

Г*

Wtfc Bip—f

Рис. 3. Экспериментальная установка для тестирования web-cepeepa

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

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

■ Модель должна достаточно точно описывать характер нагрузки анализируемого web-cepeepa;

■ Модель должна позволять изменять уровень нагрузки, сохраняя при этом исходный характер нагрузки.

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

Запрос1 Запрос2 ЗапросЗ Запрос N

0 Интервал Интервал Интервал вре-

времени 1 2 времени 2_3 мени N-1 N

В самой модели содержится некоторое количество запросов. Алгоритм для определения количества запросов, которые войдут в модель нагрузки, будет рассмотрен далее. Для каждого из запросов указано время, которое должно пройти от появления предыдущего запроса до момента его появления. Все интервалы времени являются относительными, т.е. они не содержат сведений о том, в какое время суток это происходило. Это позволит нам выполнить операцию масштабирования путем изменения всех интервалов времени на некоторый коэффициент. Так мы сможем как увеличить интенсивность нагрузки, при умножении интервалов времени на коэффициент от 1 до М (где М - наибольшее значение коэффициента, величина которого зависит от характера работы тестируемого \уеЬ-сервера), так и уменьшить ее интенсивность. Характер нагрузки останется тем же потому, что последовательность поступления запросов не меняется, и интервалы времени между запросами изменяются на один и тот же коэффициент масштабирования. Примеры обычной и отмасштабированной нагрузки приведены на рис. 4.

I*", Гп ,

-

1 Г" ----1 , 1 <•, 1»

Рис. 4. Пример обычной нагрузки (вверху) и той же нагрузки с удвоенной интенсивностью поступления запросов(внизу).

Для обеспечения реалистичности тестирования в качестве исходных данных берутся сведения из 1о§-журнала. В процессе работы в ^-журнал записываются все обращения, которые были сделаны к ууеЬ-серверу. Формат данных ^-журнала можно настроить, но, как правило, в нем всегда есть информация:

• об ¡р-адресе обращавшегося пользователя;

• о дате и времени обращения;

• об адресе ресурса, к которому было совершено обращение; ■ о результате выполнения запроса;

• о размере отправленного ответа.

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

Все ресурсы, находящиеся на шеЬ-сервере, можно разделить на две большие группы:

■ основные - те ресурсы, к которым обращается пользователь;

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

Пользователь общается с \уеЬ-сервером с помощь специальной программы, которая называется браузером. Браузер выполняет операции по отображению, формированию и пересылке данных между web-cepвepoм и пользователем. После того как пользователь инициировал запрос, браузер выполняет следующие операции:

■ отправляет запрос к \veb-cepBepy;

■ получает от него запрошенный (основной) ресурс;

■ сканирует полученный ресурс для того, чтобы определить, какие вспомогательные ресурсы необходимы для правильного его отображения;

■ в параллельном режиме запрашивает все необходимые вспомогательные ресурсы с \veb-cepBepa;

■ после получения вспомогательных ресурсов отображает основной ресурс, запрошенный пользователем.

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

При анализе информации о работе \veb-cepeepa, хранящейся в базе данных, в первую очередь необходимо определить наименьший значимый квант времени, который будет использован в дальнейшем для анализа. Для более точной оценки производительности и^Ь-сервера необходимо выбрать такой квант времени, который бы наиболее представительно описывал характер работы \veb-cepBepa. В качестве кванта времени может быть использован день, час, минута или секунда. Для проведения сравнительного анализа для каждого из возможных квантов времени были получены сведения о периодах, в которые поступало наибольшее количество запросов. В итоге оказалось, что в зависимости от продолжительности кванта

времени, ранжирование интервалов по количеству поступивших запросов охватывает различные временные участки из исходного 1о§-журнала. Это обусловлено случайным характером поступления запросов в процессе работы \veb-cepBepa. В итоге анализа оказалось, что: День: Из-за большой продолжительности этого кванта времени, а также из-за существенных колебаний нагрузки, был сделан вывод о том, что наибольшее количество запросов в день не является показателем того, что именно в этот день сервер испытывал наибольшую нагрузку. Час: Продолжительность этого периода существенно меньше предыдущего периода. Однако и она велика, опять же по причине сильных колебаний нагрузки в течение периода и из-за того, что для вывода сервера из строя требуется гораздо меньшее время.

Минута: Наиболее представительный интервал. Так как, во-первых, по статистическим сведениям предельное время отклика для \veb-pecypca колеблется от 2 до 20 секунд. Если время отклика превышает это значение, то пользователи, не дожидаясь окончания выполнения запроса, начинают покидать \уеЬ-сервер. Во-вторых, этот период хорошо описывает характер поступающей нагрузки. В-третьих, этого времени достаточно, чтобы вывести сервер из строя.

Секунда: Большое количество запросов в секунду не является признаком того, что сервер не справляется с нагрузкой, поскольку этот период описывает «мгновенное» состояние \уеЬ-сервера и ничего не говорит об общем характере поступающей нагрузки.

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

Фактически, ^-журнал содержит сведения о входной интенсивности запросов к «'еЬ-серверу и не дает информации о количестве одновременно обрабатываемых запросов на сервере. Сведения же о количестве запросов, поступающих на \уеЬ-сервер для обработки в каждую минуту, ничего не говорят о тех запросах, которые уже находятся на обработке, поскольку не известно, сколько запросов было на сервере и сколько новых запросов поступило в предыдущую минуту. Пример приведен на рис. 5.

«ярое 1 »■"»» авлрое 4 млрк 7

—• млрос 2 —— мпрое 5 илрм в

млрос 3 «мм япрое в млрос 9

(

Рис. 5. Пример поступления запросов на \veb-cepeep и их обработка \veb-cepeepoM

Если временную ось разбить на минутные интервалы времени, то можно будет построить гистограмму количества запросов, поступающих в минуту (рис. 6) и гистограмму по максимальному количеству запросов, одновременно обрабатываемых на \veb-cepeepe в минуту (рис.7).

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

■ если момент прихода первого запроса из рассматриваемого кванта времени произойдет в момент простоя \veb-cepBepa, то входная последовательность запросов будет точно описывать количество запросов, находившихся на \уеЬ-сервере в реальных условиях;

■ на основании сведений о входной интенсивности запросов можно определить время, когда \veb-cepBep находился в состоянии простоя;

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

Тестирование \veb-cepBepa для определения его производительности проводилось по следующему алгоритму:

• выбирается очередной интервал, состоящий из нескольких минут;

■ по 1о§-журналу проводится определение последовательности прихода запросов и времени между ними для этого интервала. Из получившейся последовательности формируется модель нагрузки;

■ модель нагрузки подается на вход генератора нагрузки;

• в ходе проведения тестирования происходит контроль за производительностью \veb-cepBepa. Если окажется, что в процессе прогона теста работа \veb-cepBepa была удовлетворительной, то генератор нагрузки пропорционально уменьшает интервалы между поступлениями запросов на некоторый коэффициент для моделирования реальной ситуации в случае увеличения интенсивности поступления запросов;

Рис. б. Гистограмма количества запросов, поступающих в минуту

Рис. 7. Гистограмма количества запросов, одновременно обрабатываемых на \veb-cepeepe в минуту

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

В итоге мы получаем список интервалов с указанием для каждого из интервалов своего коэффициента масштабирования, при котором они приводят сервер в неработоспособное состояние.

В качестве наименьшего кванта времени было предложено использовать временной интервал минутной длины. Для 1о§-журнала, который содержал бы сведения о работе \уеЬ-сервера в течение одного месяца, мы имеем:

бОминут * 24часа*31день = 43200 минут (1)

Даже если треть своего времени \уеЬ-сервер простаивал, что мало вероятно, то мы получим:

43200минут*0.7=30240 минут (2)

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

Для всех проанализированных \уеЬ-серверов (10 различных 1од-журналов) усредненный характер связи количества запросов с количеством минут, в которые наблюдались соответствующее количество запросов, имел вид изображенный на рис. 8.

и количество минут

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

■ из базы данных получаем все минуты, с указание количества запросов, поступивших в каждую из них;

• сортируем эти минуты в порядке убывания количества запросов поступивших в эти минуты;

■ берем <2 минут, начиная с минуты с наибольшей интенсивностью запросов. Отобранное количество мину влияет на продолжительность тестирования и определяет точность получаемых результатов. Более подробно этот аспект будет рассмотрен далее;

■ для отобранных минут выполняем увеличение временного интервала до момента окончания простоя шеЬ-сервера;

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

■ ранжируем отобранные минуты в порядке возрастания коэффициента масштабирования;

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

■ определяем суммарное количество минут, которое осталось в тестовой выборке и наибольший коэффициент масштабирования.

Таким образом, полученный ответ будет звучать следующим образом: «Для 2% входных запросов производительность мгеЬ-сервера имеет к-кратный запас», где

Z = (100 — 0_Регс) — доля минут, не попавшая в тестовую выборку; (3)

<3_Регс=(2/Х * 100 - доля минут в тест, выборке от общего числа минут; (4) X - общее количество минут, содержащееся в 1о§-журнале; <3 - количество минут, оставшееся в тестовой выборке; к - макс, коэффициент масштабирования из тестовой выборки.

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

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

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

Усредненный график зависимости, изображенный на рис. 8, не всегда имеет такой вид. В зависимости от специфики работы \veb-cepBepa и ресурсов, к которым осуществляется доступ, изменяется и вид зависимости. По виду этой зависимости можно судить о работе пользователей с тестируемым \уеЬ-сервером. Виды зависимостей могут существенно отличаться друг от друга, это не влияет на применимость разработанного алгоритма, но построение и исследование графика зависимости дает дополнительные сведения о работе шеЬ-сервера.

Для оценки представительности ^-журнала, по каждому из дней, вошедших в рассматриваемый период, были получены сведения о количестве обращений к каждому ресурсу (табл. 2).

Таблица 2 Сведения о количестве обращений к ресурсам по дням

День! День 2 День!V

Общ число запросов 1 Общ. число запросов 2 Общ число запросов N

Ресурс 1 Кол-во запросов 1_1 Кол-во запросов 2_1 Кол-во запросов Ы_1

Ресурс К Кол-во запросов 1_К Кол-во запросов 2_К Кол-во запросов

На основании анализа этих сведений были рассчитаны результаты, формат которых представлен в табл.3.

Таблица 3. Сведения о долях запросов по каждому ресурсу по дням

Имя ресурса День! День2 День N Матожидание Ср. к», откл.

Ресурс1 ДоляЫ Доля2 1 ДоляЫ_1 МО 1 СК01

Ресурс К Доля1_К Доля2_К Доля Ы_К МОК СКОК

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

Серия экспериментов, проведенная на практике и описанная в главе 3, подтвердила гипотезу о том, значение среднеквадратичного отклонения в пределах 20%, которое сохраняется для наиболее часто используемых ресурсов, говорит о том, что у тестируемого «геЬ-сервера есть постоянная аудитория, и работа этой аудитории составляет основную нагрузку, обрабатываемую \уеЬ-сервером в реальном режиме функционирования.

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

• обращение ко всем вспомогательным ресурсам основного ресурса;

• динамическое увеличение/уменьшение интенсивности нагрузки;

■ функция самоконтроля за режимом работы;

• создание распределенной нагрузки.

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

Основной ресурс Вспомогательный ресурс

Запрос 1 Запрос 01 Запрос 03

Запрос 02 Запрос 04

Запрос 2 Запрос 05 Запрос 07

Запрос 06

Запрос 3

запрос 1

запрос 01 млрос02 запрос 03

аапрос04 _/"»апросЗ

Рис. 9. Пример работы генератора нагрузки в виде графа Как видно из рис. 9 обработка всех запросов производится в параллельном режиме. Это дает нам возможность создавать тестовую нагрузку, которая будет очень похожа на нагрузку, поступающую на \геЬ-сервер в реальных условиях.

Дополнительно были реализованы:

■ функция самоконтроля, которая следит за соблюдением режима генерации нагрузки;

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

Логическим развитием данного исследования явилась разработка методики определения поведения аппаратных компонент и'еЬ-сервера в процессе его функционирования на основе разработанной методики. Для выявления компонент, существенно влияющих на производительность \veb-сервера, предложена аппаратная схема взаимодействия узлов сервера, построенную на основании анализа собранной информации (рис. 10).

[ШмСЩ'

На производительность \уеЬ-сервера, как программно-аппаратного комплекса, оказывают влияние три крупные составляющие:

* аппаратные компоненты и их взаимодействие;

■ операционная система, на которой работает \уеЬ-сервер;

■ архитектура \уеЬ-сервера и использованное программное обеспечение для его реализации.

Способ взаимодействия компонент внутри каждой из составляющих, а также взаимодействие между этими составляющими и определяет производительность \veb-cepeepa. У администратора есть возможность настройки работы каждой из этих составляющих, и набор этих настроек достаточно широк, но без знания того, что является «узким местом» в системе, изменение настроек системы может привести как к улучшению, так и к ухудшению производительности. Для того, чтобы определить «узкие места», необходимо получить сведения о загрузке компонент системы. В качестве источника исходных данных достаточно использовать средства контроля, встроенные в операционную систему, поскольку анализ аналогичных средств сторонних разработчиков выявил следующие недостатки:

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

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

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

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

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

■ Память.

• Процессор.

• Жесткий Диск.

■ Сетевая карта.

В результате анализа из общего числа счетчиков были отобраны те счетчики, которые наиболее полно описывают аппаратную компоненту с точки зрения производительности. Этот набор счетчиков был получен на основании рекомендаций компании Microsoft и уточнения предлагаемого набора после проведения серии практических экспериментов. Для дальнейшего анализа были отобраны следующие счетчики: Память \ Доступно байт. Память \ Обмен страниц/сек. Память \ Байт кэш-памяти. Кэш \ % попаданий при отображении данных. Файл подкачки (_Total)\% использования. Процессор (_Total)\% загруженности процессора. Процессор \ Прерываний/сек. Рабочие очереди сервера \ Длина очереди. Физический диск(_То1а1)\% активности диска. Сетевой сегмент \ % использования сети.

Само тестирование производилось по описанной ранее технологии, с одним отличием: в процессе тестирования программа-агент, установленная дополнительно на web-сервере, регистрировала показания выбранных счетчиков. В результате проведения тестирования получена статистика:

■ от генератора нагрузки с указанием моментов времени, в которые работа системы была неудовлетворительной (т.е. было превышено максимальное допустимое время отклика, либо запросы перестали обрабатываться web-сервером) (табл.5)

• от программы-агента, с указанием времен регистрации значений выбранных счетчиков работы web-cepeepa и самих значений (табл. 6)

Таблица 5. Формат журнала работы генератора нагрузки

Время регистрации (BP) Тип ошибки (ТО) Кол-во обрабатываемых запросов (КОЗ) Время отклика (ВО)

BP 1 Т01 К03 1 ВО 1

BPN ток козм ВО L

Таблица 6. Формат журнала работы программы-агента

Время регистрации (BP) Счетчик 1 Счетчик 2 Счетчик К

BP 1 Значение 1 1 Значение 1 2 Значение 1 К

BPN Значение N 1 Значение N 2 Значение N К

Проведя сравнительный анализ обоих журналов, можно определить уровень загруженности аппаратных средств \veb-cepBepa в те моменты времени, когда работа \veb-cepeepa было неудовлетворительной.

На основании анализа собранных сведений были получены обобщенные сведения о загруженности каждого из узлов. Этих сведений достаточно для того, чтобы сказать какой из узлов системы являлся узким местом. Однако для этого необходимо иметь сведения о величине наибольшей допустимой загруженности каждого из узлов. Иными словами, нам необходимы сведения о том, при каких условиях данное устройство можно считать «узким местом» системы. Для выбранных счетчиков эти значения таковы (табл. 7):

Счетчик Пороговое значение

Память \ Доступно байт 4Мб

Память \ Обмен страниц/сек 20

Память \ Байт кэш-памяти 500Кб

Кэш \ % попаданий при отображении данных <=20

Файл подкачки ( То1а1)\% использования > 70%

Процессор ( ТоЫ)\% загруженности процессора > 90%

Процессор \ Прерываний/сек > 1500

Рабочие очереди сервера \ Длина очереди 4

Физический диск( То1а1)\% активности диска >90%

Данные сведения получены на основе анализа рекомендаций Microsoft и данных фирм-производителей аппаратного обеспечения для web-серверов. Следует также отметить, что у пользователя есть возможность при анализе полученных результатов использовать свои величины пороговых значений, которые, как он считает, наиболее точно соответствуют данной конкретной ситуации. В процессе сравнения можно будет увидеть какое из устройств превысило свое пороговое значение. Именно замена этого устройства должна дать наибольший прирост производительности.

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

описана в главе 3.

На основании детального анализа специфики работы \уеЬ-серверов был разработан набор необходимых алгоритмов для реализации предлагаемой методики. В ходе было разработки выполнено построение математической модели функционирования \уеЬ-сервера, которая позволила провести первичный анализ работы \veb-cepBepa и перейти к рассмотрению и реализации методики оценки эффективности произвольного ууеЬ-сервера. Были предложены методы, позволяющие приблизить результаты, полученные в процессе моделирования к значениям, имеющим место в условиях реальной эксплуатации \veb-cepBepa. На основе предложенной методики описан механизм локализации наиболее вероятных «узких мест» в аппаратной части тестируемого \veb-cepBepa с учетом особенностей его режима работы.

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

■ ^-журналы, полученные в результате работы тестового шеЬ-сервера;

■ ^-журналы, описывающие работу реальных \veb-cepBepoB.

В тестировании принимали участие как корпоративные так и информационные \уеЬ-сервера. Все они располагались в разных территориальных зонах и имели отличную друг от друга пользовательскую аудиторию. Количество запросов, поступивших в течение дня, колебалось от 12000 до 53000. В общей сложности было проанализировано 10 ^-журналов, охватывающих различные периоды эксплуатации тестируемых \уеЬ-серверов. В ходе проведения экспериментов необходимо было проверить правильность работы предлагаемой методики и ее применимость для тестирования \veb-серверов различных типов.

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

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

1. Временем передачи запросов по сети в экспериментальной установке можно пренебречь;

2. Экспериментальная установка позволяет создавать нагрузку на web-сервер требуемого характера.

На рис. 11 приведены результаты работы программы.

Всего мфооо». 8874 Устампмж» юо^кпо нотоют 10 Ркямядом мвюсо» яо солоаямк

.1.11 1 I 1 i И 532 5121 212 340 13 1 0 1 2 3 4 Jiff 9 10 П 12 13 14 - I- I. I- ». 3». 512.5131.2136. 240. 12. 1.

j'OISjtoSa1^Mll"ffi^OilT^MlV"0tw"0471 6465 «34» 26331 2913 01« ООП О I 5 3 4 5 6 7 I J 10 И 12 ¡3 14 . 0Л13 . 0ШЗ _ 0D13 _ 0Л13 . ОШЗ _ 0012 . 01»9. 0 471 _ « 4« _вЗ 426 . 36 331 _ 2S73 _ 0 149 _ 0D12 _

Bpmt мхжтгшя ш ооеплют

_ 39 91 9 30 40 1IS «6 1104 *Ш 531946 20905 3547 341 21 liT21*5!7i5l(JlTfii3l3

Овшфашитямм» 60040

Прощеное раофсдоям» аровш тжшапоА а состояв« » солояюпж

ОЛИ 0J0I5 0001 0ИВ 0007 0Ml 0114 1350 7 5« МЯО ЗМ1 0414 0.057 0003 0 I 3 3 4 5 6 1 8 5 10 П 12 13 14

Рис.11. Динамика поведения web-cepeepa в процессе работы При анализе времени нахождения web-сервера в каждом из состояний оказалось, что 86.92% времени web-сервер находился в 10 состоянии. Номер состояния обозначает количество запросов, одновременно обрабатываемых на web-cepsepe. В данном случае на генераторе нагрузки было установлено 10 одновременных подключений для работы с web-сервером. Аналогичное соответствие было получено и в других случаях. Разброс значений оказался меньше 3%.

Для оценки производительности web-cepeepa были отобраны 500 минут, для которых было выполнено построение последовательностей и получены модели нагрузки. Результаты эксперимента представлены табл. 8.

Общее количество минут. 500

Дата Время Кол-во запросов Коэф-нт масштаб.

1 02.1104 11:48:00 150 8

500 20.12.04 10:1600 29 37

В качестве порогового значения определялась такая загрузка web-cep-вера, когда он переставал успевать выполнять запросы. Отобранные 500 минут из 106147 общего числа минут составили

50» ...............(5)

♦100 = 0.4711% 106147

100-0.4711 = 99.529% минут не попало в тестовую выборку

(6)

Наибольший коэффициент масштабирования, полученный в результате эксперимента, был равен 37 (табл. 8).

Таким образом, на основании имеющегося 1о§-журнала было получено, что для 99.529% входных запросов производительность рассматриваемого ууеЬ-сервера имеет 37-ми кратный запас. Аналогичным образом проводится исследование для любого количества минут из имеющегося периода работы \уеЬ-сервера. Количество минут, отобранное для анализа, влияет на время тестирования и точность полученных результатов.

В ходе проведения серии модельных экспериментов показана применимость разработанной методики на практике. При проведении выполнении тестирования проверены на работоспособность все предложенные алгоритмы. С помощью вспомогательных алгоритмов проведено исследование экспериментальной установки и реализован алгоритм, учитывающий отличия от реальных условий функционирования \veb-cepBepa. При применении механизма локализации «узких мест» определено узкое место тестируемого \уеЬ-сервера, при устранении которого общая производительность \уеЬ-сервера увеличилась на 23%. При раздельной замене других аппаратных узлов \уеЬ-сервера существенного увеличения производительности \veb-cepBepa не обнаружено.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ В процессе исследований, выполненных в диссертационной работе, получены следующие результаты:

1. Разработана обобщенная методика оценки эффективности функционирования \veb-cepBepa.

2. Разработана математическая модель состояний \veb-cepBepa. Проведено выявление и анализ внешних факторов, влияющих на его работу.

3. Предложена и исследована экспериментальная установка работы \veb-сервера.

4. Выполнен детальный анализ сведений о работе дуеЬ-серверов, содержащихся в 1о§-журналах тестируемых \уеЬ-серверов.

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

6. Разработана схема взаимодействия аппаратных узлов \veb-cepBepa. Определен набор ключевых аппаратных компонент, существенно влияющих на производительность \veb-cepBepa.

7. Предложена методика локализации «узких мест» в аппаратной части \veb-cepBepa на основании разработанной методики.

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

2006-4 9259

9. С помощью серии модельных экспериментов подтверждена правильность работы методики и ее применимость для оценки эффективности функционирования реальных web-cepeepoe.

Основные положения диссертации изложены в следующих работах:

1. Пуцко H.H. Методика оценки и прогнозирования производительности web-pecypca // XI международная научно-техническая конференция студентов и аспирантов. Труды. Т. 1. Секц. 21: Технологии и инструментальные средства разработки корпоративных информационных систем. МЭИ - 2005. С. 384 - 385.

2. Пуцко H.H. Сравнительный анализ основных параметров, характеризующий различные типы web-порталов // X международная научно-техническая конференция студентов и аспирантов. Труды. Т. 1. Секц. 21: Технологии и инструментальные средства разработки корпоративных информационных систем. МЭИ - 2004. С. 387 - 388.

3. Пуцко H.H. Методы обеспечения эффективной работы коммерческого интернет-портала // Материалы I международной научной конференции. Польша. Радом - 2003. С. 37-42.

4. Пуцко H.H. Структурный подход к процессу разработки коммерческого Интернет- портала // X юбилейная международная школа-семинар. Тезисы докладов. Т. 2. МГИЭМ - 2002. С. 487-488.

РАЗРАБОТКА МЕТОДОВ И СРЕДСТВ ОЦЕНКИ ЭФФЕКТИВНОСТИ ФУНКЦИОНИРОВАНИЯ А^ЕВ-СЕРВЕРОВ

Специальность - 0S.13.13 Телекоммуникационные системы и компьютерные сети

ПУЦКО Николай Николаевич

Подписано к печати OS. OS". Формат бумаги 60x90 1/16 Заказ № 3S9.

Объем печ. л. 1,5

Тираж 80.

Типография МИИТ, 127994 ГСП-4, г. Москва, ул. Образцова 15

Оглавление автор диссертации — кандидата технических наук Пуцко, Николай Николаевич

ВВЕДЕНИЕ.

Глава 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ОПРЕДЕЛЕНИЕ ЦЕЛЕЙ ИССЛЕДОВАНИЯ.

1.1 Определение составляющих эффективности функционирования.

1.2 Анализ существующих технологий тестирования.

1.3 Анализ существующих средств тестирования web-серверов.

1.4 Общие подходы к тестированию web-серверов.

1.5 Выводы.

Глава 2. РАЗРАБОТКА АЛГОРИТМОВ ДЛЯ РЕАЛИЗАЦИИ МЕТОДИКИ ОЦЕНКИ ЭФФЕКТИВНОСТИ ФУНКЦИОНИРОВАНИЯ WEB-CEPBEPA.

2.1 Исследование среды функционирования.

2.2 Построение и исследование математической модели функционирования web-сервера.

2.3 Адаптация тестовой модели к реальным условиям работы web-серверов

2.4 Разработка методики оценки эффективности функционирования web-сервера.

2.5 Разработка программного генератора нагрузки.

2.6 Разработка методики локализации «узких мест» в аппаратной части web-сервера с учетом его специфики работы.

2.7 Выводы.

Глава 3. ПОСТАНОВКА И ПРОВЕДЕНИЕ МОДЕЛЬНЫХ ЭКСПЕРИМЕНТОВ.

3.1 Исследование математической модели.

3.2 Реализация методики оценки эффективности функционирования.

3.3 Реализация методики поиска «узких мест» в работе web-сервера.

3.3 Общие рекомендации.

3.4 Выводы.

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

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

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

В соответствии с современной концепцией управления информационными системами [66, 70] считается, что выводы об их качестве работы следует делать на основании качества работы web-приложений. Если качество работы web-приложений высокое, то информационная система работает хорошо, иначе - плохо. При этом характеристики работы оборудования также важны, но используются, в первую очередь, для выяснения того, почему web-приложения работают плохо и что надо сделать, чтобы улучшить их работу.

На сегодняшний день существует достаточно большое количество компаний [42, 58, 67, 77, 78, 18, 33, 63], которые занимаются исследованием эффективности функционирования web-приложений. Причем эти компании предлагают на рынке как собственные услуги по оценке эффективности функционирования приложений заказчиков, так и программные продукты для самостоятельного использования. Был проведен анализ имеющихся средств для оценки эффективности функционирования, который показал, что:

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

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

Как следствие этого - отсутствие единой технологии оценки эффективности функционирования web-приложения.

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

Заключение диссертация на тему "Разработка методов и средств оценки эффективности функционирования web-серверов"

3.5 Выводы

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

ЗАКЛЮЧЕНИЕ

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

1. Разработана обобщенная методика оценки эффективности функционирования web-сервера.

2. Разработана математическая модель работы web-cepBepa. Проведено выявление и анализ внешних факторов, влияющих на его работу.

3. Предложена и исследована экспериментальная установка работы web-сервера.

4. Выполнен детальный анализ сведений о работе web-сервера, содержащихся в log-журналах тестируемого web-сервера.

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

6. Выполнено построение схемы взаимодействия аппаратных узлов web-сервера. Определен набор ключевых аппаратных компонент, существенно влияющих на производительность web-сервера.

7. Предложена методика локализации «узких мест» в аппаратной части web-сервера на основании разработанной методики.

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

9. С помощью серии модельных экспериментов подтверждена правильность работы методики и ее применимость для оценки эффективности функционирования реальных web-серверов.

Библиография Пуцко, Николай Николаевич, диссертация по теме Телекоммуникационные системы и компьютерные сети

1. Вентцель Е.С., Исследование операций. М.: "Советское радио",1972, 576с.

2. Гладченко А., Счётчики производительности SQL Server и Windows. 2003, http://www.sql.ru/articles/mssql/03121001PERF COUNTERS.shtml

3. Дудински Э., Управление информационными системами. Проблемы теории и практики управления. М.: "Наука", 1996, 206с.

4. Киллелиа П., Тюнинг Web-cepeepa для профессионалов. СПб.: Питер, 2003, 528 с.

5. Куликовский Л.Ф., Мотов В.В., Теоретические основы информационных процессов. М: Высшая школа, 1987, 248с.

6. Менаске Д., Алмейда В., Производительность web-служб. Анализ, оценка и планирование. ДиаСофтЮП, 2003, 248с.

7. Наблюдение за службами с помощью системного монитора, http://helpsite.narod.ru/web/iisdoc/50.htm

8. Олифер В.Г., Олифер Н.А., Компьютерные сети. Принципы, технологии, протоколы. СПб. Питер, 2003, 672 стр.

9. Очков В., Принцип неопределенности программирования. http://twt.mpei.ac.ni/ochkov/IZBYT.htm

10. Пуцко Н.Н. Методы обеспечения эффективной работы коммерческого интернет-портала. Материалы I международной научной конференции. Польша. Радом 2003. С. 37?42.

11. Пуцко Н.Н. Структурный подход к процессу разработки коммерческого интернет-портала. X юбилейная международная школа-семинар. Тезисы докладов. Т. 2. МГИЭМ-2002. С. 487-488.

12. Советов Б.Я., Яковлев С.А., Моделирование систем: Учебник для вузов -Зе издание, перераб. и доп. М: Высшая школа, 2001, 348с.

13. Таненбаум Э., Современные операционные системы, 2-е издание. СПб. Питер, 2003, 1037с

14. Франк А., Тестирование производительности сети. Журнал LAN №4,1998

15. Хэррингшоу К., Оптимизация сервера Web. Журнал LAN №8, 1997

16. Черняк Л., Снова о тестах ТРС. Открытые Системы. 2000. № 11

17. Шолл Ф., Стратегии настройки производительности. Журнал LAN №8, 1997

18. Элитариум, Закон Парето или Принцип 80/20. 2004, http://www.elitarium.ru/index.php?pid=81 &id=l 995&bt=l

19. Юдицкий С., Подлазов В., Борисенко В., "Узкие места" в локальных сетях. Журнал LAN №9, 1998

20. Agrawal S., Metamodeling: A Study of Approximations in Queuing Models. MIT Press, Cambridge, Massachusetts, 1985

21. Almeida J. M., Almeida V., Yates D., Measuring the Behavior of a World Wide Web Server. Proc. 7th Conf. High Perform. Networking (HPN), IFIP, April 1997, pp. 57-72

22. Almeida V. A. F., Bestavros A., Crovella M., Oliveira A., Characterizing Reference locality in the WWW. 4th Int. Conf. Parallel Distrib. Inform. Syst.(PDIS), IEEE Comput. Soc., Miami Beach, Florida, December 1996, pp 92-103

23. Arlitt M., Williamson С., Web Server Workload Characterization: the Search for Invariants. Proc. 1996 ACM SIGMETRICS Conf. Measurements Comput. Syst., Philadelphia, May 1996, pp. 126-137

24. Banga G., Drushel P., Measuring the capacity of a Web Server. Usenix Simp. Internet Technol. Syst., December 1997

25. Blommers J., Practical Planning for Network Growth. Prentice Hall, Upper Saddle River, New Jersy, 1996

26. Brewer E.A., Lessons from Giant-Scale Service, IEEE Internet Computing. July-August 2001, pp.46-55

27. Brownlee N., Loosley C., Fundamentals of Internet Measurement. CMG Journal of Computer Resource Management, Issue 102, 2001

28. Buzen J. P., Operational Analysis: An Alternative to Stochastic Modeling, Performance of Computer Installations. North Holland, June 1978, pp. 175-194

29. Cardellini J., Casalicchio E., Colajanni M., A Performance Study of Distributed Architectures for the Quality Web Services. Proc. IEEE Hawaii International Conf. on System Sciences, January 2001

30. Chapra S. C., Canale R. P., Numerical Methods for Engineers: with Software and Programming Applications, 4th ed., McGraw-Hill, New-York, 2001

31. Ching A., Silva P., Wagner A., Performance Testing with the Web Application Stress Tool. Microsoft Developer Network, January 2001

32. Comer D. E., Computer Networks and Internets. Prentice Hall, Upper Saddle River, New Jersey, 1997

33. Comer D. E., Internetworking with TCP/IP Vol. I: Principles, Protocols, and ArtV»chitectures, 4 ed., Prentice Hall, Upper Saddle River, New Jersey, 2000

34. Cooperative Association for Internet Data Analysis, www.caida.org

35. Crovella M., Bestavros A., Self-Similarity in World-Wide Web Traffic: Evidence and Possible Causes. Proc. 1996 ACM SIGMETRICS Conf. Measurements Comput. Syst., Philadelphia, May 1996, pp. 160-169

36. Ding Y., Agrawal S., The Performance Impact of Web Servers, San Diego, California, December 8-13,1996, pp.62-73

37. Enhanced Storage Solution, www.idrive.com

38. Everitt В., A Handbook of Statisticcal Analyses Using S-PLUS. Chapman&Hall, 1994

39. Everitt В., Cluster Analysis, 4th ed., Oxford University Press, 2001

40. Goschl S., Microsoft Web Applications Stress Tool. JUGAT Meeting, 12 June 2001, www.javausergroup.at/events/was.pdf

41. Heidmann J., Obraszka K., Touch J., Modeling the Performance of HTTP Over Several Transport Protocols. IEEE/ACM Trans. Networking, vol.5, no. 5, October 1997, pp. 616-703

42. Hennesy J., Patterson D., Computer Architecture: A Quantitative Approach. Morgan Kauffman, San Francisco, California, 1996

43. Henning J., SPEC CPU2000: Measuring CPU Performance in the New Millennium. Computer, IEEE, July 2000

44. Huberman В., Pirolli P., Pitkow J. E., Lukose R., Strong Regularities in World Wide Web Surfing. Science, vol. 280, April 1998

45. Hufnagel E., The Hidden Costs of Clien/server, Your Client/Server Survival Kit. Network Computing, vol. 5,1994

46. Johnson K., Carr J., Day M., Kaasholek M.F., The Measured Performance of Content Distribution Networks. Proc. 5th Int. Web Caching Workshop and Content Delivery Workshop, Lisbon, Portugal, May 2000

47. Kleinrock L., Queueing Systems, vol. I: Theory. John Wiley and Sons, New York, 1975

48. Krishnaswamy U., Scherson I., A Framework for Computer Performance Evaluation Using Benchmark Sets. IEEE Trans. Computers, vol. 49, no. 12, December 2000

49. Lam S., Chan K., Computer Capacity Planning: Theory and Practice. Academy Press, London, England, 1987

50. Law A. M., Kelton W. D., Simulation Modeling and Analysis, 2nd ed., McGraw-Hill, New York, 1991

51. Lilja D., Measuring Computer Performance. Cambridge University Press, Cambridge, England, 2000

52. Lloyd P., Galambos G., Technical Reference Architecture, IBM Systems J., vol. 38, no. 1, 1999

53. Long D.E., Muir A., Golding R., A Longitudinal Survey of Internet Host Reliability, HP Labs Technical Report HPL-CCD-95-4, February 1995

54. Menasce D. A., Almeida V. A. F., Dowdy L.W., Capasity Planning and Performance Modeling: From Mainframes to Client-Server Systems, Prentice Hall, Upper Saddle River, New Jersey, 1994

55. Menasce D. A., Almeida V. A. F., Riedi R., Ribeiro F. P., Fonseca R., Meira Jr., In Search of Invariants for E-Business Workload, Proc. 2000 ACM Conf. in E-Commerce, Minneapolis, Minnesota, Octobers 17-20, 2000

56. OpenSTA Documentation. Open System Testing Architecture Organization, www, opensta. org/docs/index.html

57. O'Neil P., O'Neil E., Database: Principles, Programming, Performance, 2nd ed., Morgan Kauffman, San Francisco, California, 2000

58. Orfali R., Harkey D., Edwards, Client/Server Survival Guide, 3rd ed., John Wiley and Sons, New York, 1999

59. Padmanabhan V., Mogul J., Improving HTTP Latancy, Comput. Networks ISDN Syst., vol. 28, nos.1,2, December 1995

60. Performance Monitor. Назначение, функциональность и использование, http://www.anriintern.eom/winntserver/l I .shtml

61. PureLoad Web User's Guide. Minq Software, 2002, www.minq.se/ products/ pureload/ doc/ html/ web/ userseuide/ index.html64