Материал подготовлен по книге А.Менаске "Производительность Web-служб". Материал подготовил студент группы ВТ-99а Деккер Ю.Ю.

 

Факторы, влияющие на производительность Web-служб

 

Введение

 

В данной работе рассматриваются факторы, влияющие на производительность Web-служб, а также приводится обзор проблем, связанных с производительностью. Здесь можно найти общее описание методики разработки простых количественных моделей с целью анализа проблем производительности. Производительность Web-служб можно связать со временем обслуживания запро­са Web-службой и сетевой задержкой (которая включает все задержки, происходя­щие где-то между браузером клиента и поставщиком Web-службы). По мере эво­люции Web, увеличивается сложность сети, а в сетевое окружение добавляются новые устройства, такие как карманные компьютеры (personal digital assistant, PDA) и мобильные телефоны. Еще одна проблема, влияющая на производитель­ность Web-служб, возникает при использовании беспроводных линий связи, с их относительно малой полосой пропускания и большой задержкой, а также отсут­ствием постоянной связи между компонентами.

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

Ключевыми компонентами интрасетей и Internet являются серверы. В ответ на запросы они выдают информацию в виде текста, изображений, звуковых и видео­файлов, а также их разнообразные комбинации (т.е. мультимедиа). Web-службы, доступные в интрасетях и Internet, обеспечиваются большим количеством различных серверов, использующих широкий спектр аппаратного и программного обес­печения. В этих сетях серверы получают, хранят и передают дальше информацию. Поддержка Web-служб обеспечивается несколькими типами серверов: Web-серве­рами, серверами транзакций, прокси-серверами, кэш-серверами, беспроводными шлюзовыми серверами (wireless gateway servers) и зеркальными серверами. Боль­шинство клиентов интрасетей и Internet - это Web-браузеры, вместе со своими приложениями, к которым относятся: электронная почта, FTP и telnet. Программ­ное обеспечение браузера позволяет настольному компьютеру связываться с лю­бым другим клиентом сети TCP/IP и любым сервером сети, имеющим конкретный URL-адрес. Бизнес становится все более зависимым от использования Web-служб, поэтому их рабочие характеристики (т.е. производительность) становятся жизненно важными. Чем больше информации и услуг можно получить на Web-сайте компа­нии, тем больше запросов он получает. А чем больше запросов получает Web-сайт, тем больше вероятность, что пользователи слишком долго будут ждать реак­ции на свой запрос. И тогда, как правило, Web-пользователи (возможные покупатели) будут разочарованы и переключатся на другой сайт.

Проблемы производительности применительно к Internet усиливаются непредс­казуемой природой запросов на информацию и службы в Web. Например, какое-то время на сайты практически не приходят запросы, поскольку нет посетителей. Внезапно, без предупреждения, трафик возрастает в десятки раз. Такой тип пико­вой нагрузки, также известной как "мгновенное возрастание спроса" ("flash crowds"), наблюдается на очень многих Web-сайтах. Производительность Web-сай­тов сильно варьируется в зависимости от множества факторов, таких как геогра­фическое расположение клиентов и серверов, день недели и время дня. Существу­ют также и другие характеристики, по которым Web-системы отличаются от традиционных систем с архитектурой клиент-сервер. Например, размеры объектов (текстов, графики, видео, аудио), получаемых из Web-сайтов, варьируется от 103 до 107 байт. Экспериментальные исследования [5, 12] позволили выделить некото­рые свойства и инварианты (постоянные составляющие) WWW-нагрузки. Эти свойства будут рассматриваться в настоящей работе . Проблема производительности Web-служб усложняется тем, что существует большое количество роботов, т.е. ав­тономных программных агентов, которые взаимодействуют с Web-сайтами и по­требляют значительное количество системных ресурсов. Сочетание перечисленных уникальных характеристик Web приводит к появлению новых видов проблем про­изводительности, к которым, в первую очередь, относятся слишком большая на­грузка на сервер и "узкие места" сети, оказывающих критическое влияние на производительность с точки зрения конечного пользователя. Вопросы производи­тельности постоянно волнуют руководство любой компании. Существуют шесть основных тем, которые рассматриваются при анализе производительности Web-служб: содержимое сайта, программное обеспечение сервера, оборудование, приложения, пропускная способность сети и инфраструктура. В настоящей главе бу­дут рассматриваться вопросы производительности, связанные с перечисленными шестью темами.

 

1.1 Web-службы

По мере развития Web у пользователей постепенно отпала необходимость обраще­ния к функциональным блокам, подсистемам хранения информации, а также непос­редственно к сети, и они стали видеть только службы, предоставляемые с помо­щью этих устройств. Иными словами, Web-служба - это услуга, получаемая через Internet, которая выполняет поставленные задачи или производит транзакции [29]. Web-службы обладают модульной структурой и явля­ются самодостаточными модулями, которые можно описать, опубликовать и вы­полнить через Internet. Web-служба может представлять собой бизнес-процесс, при­ложение и даже вычислительный ресурс. К примерам Web-служб можно причислить все, начиная с услуг электронных платежей и заканчивая услугами распространения содержимого и хранения информации. Web-службы можно авто­матически вызывать из приложений, а не только из браузеров.

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

Главными вопросами для среды Web-службы являются расширяемость и произ­водительность. Что будет, когда 10 000 конкурирующих пользователей затребуют одну и ту же Web-службу? Каким образом поставщики Web-службы гарантируют ее качество? Как поставщик Web-службы дифференциирует качество службы для различных потребителей на основе соглашений SLA? Именно так выглядят типо­вые вопросы, с которыми доводится сталкиваться проектировщикам и администра­торам Web-служб.

Пример   ________________________________________________

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

обслуживания, телефонных счетов, а также пополнять счет кредитной карточки. Ар­хитектура службы показана на рис. 1.1. Web-служба по оплате счетов использует службы, реализуемые другими поставщиками, такие как авторизация платежа (т.е. разрешение на платеж), электронный перевод средств и аутентификация пользова­теля. Пусть указанные службы обеспечиваются поставщиками Y, W и Z соответ­ственно. Соглашения по уровню обслуживания (SLA), принятые между компанией В и поставщиком Y (предоставляющим услугу по авторизации платежа), гаранти­руют скорость обработки запросов поставщиком Y (который является "третьей стороной") 100 транзакций/с. Руководство портала В желает узнать производи­тельность службы, предоставляемой порталом В, в транзакциях/с.

Выполнение службы порталом В эквивалентно последовательности посещений запросом поставщиков служб [11]. Каждое посещение поставщика соответствует транзакции, выполняемой поставщиком. В среднем, каждая транзакция для служ­бы по оплате счетов требует двух посещений поставщика услуг авторизации пла­тежей. Среднее количество посещений на один запрос к конкретному поставщику службы i назовем коэффициентом посещений (visit ratio) и обозначим через V-,. Пропускную способность поставщика службы i обозначим через Х{. Пропускную способность службы портала В обозначим как Хй. Закон формирования пропуск­ной способности устанавливает связь Х0 с Х; и Vf.

Х,= У,*Хо

Для службы поставщика Y (авторизации платежа) имеем: Хг= 100 и VY = 2. Следовательно, портал В способен обрабатывать 50 запросов на обслуживание в секунду 0 = 50 запросов/с).

1.2. Обзор Web-серверов

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

   1.2.1.         HTML и XML

Большинство документов в Web написа­ны на простом "языке разметки", кото­рый называется HTML (HyperText Markup Language - язык гипертекстовой разметки) [6]. Язык HTML позволяет описать структуру документа, указав заго­ловки, выделения, ссылки на другие документы и т.д. В HTML-документы можно встраивать изображения и другие мультимедиа-объекты. HTML позволяет интегри­ровать в Web видео, программные приложения и мультимедиа-объекты. Большин­ство HTML-документов состоят из текста и встроенных изображений. Каждому встроенному изображению соответствует ссылка, указывающая на файл изображе­ния, который браузер поместит в документ при его просмотре. (Файл изображения хранится на сервере, где и основной HTML-файл.) При анализе браузером HTML-данных, полученных от сервера, он распознает ссылки, связанные со встроенными изображениями, и автоматически посылает запросы на файлы этих изображений. На самом деле HTML-документ со встроенными изображениями -это сочетание множества объектов, поэтому он генерирует множество отдельных запросов к серверу. В отличие от пользователя, который видит только один доку­мент, сервер наблюдает серию отдельных запросов, производимых для этого доку­мента. С целью улучшения производительности с точки зрения конечного пользо­вателя некоторые браузеры начинают запрашивать изображения до того, как клиент получает полный текст документа. В терминах производительности систе­мы, важно понять, что один единственный щелчок пользователя может привести к генерации целой последовательности файловых запросов к серверу.

В языке HTML используются дескрипторы (директивы языка, заключенные в скобки вида < и >) и атрибуты, которые указывают, как браузер должен визуали­зировать Web-страницу. В языке XML (Extensible Markup Language - расширяе­мый язык разметки) также используются дескрипторы и атрибуты для разграниче­ния фрагментов данных, а интерпретация значений этих дескрипторов и атрибутов возлагается на приложение. Разработчики на XML имеют право определять соб­ственные наборы дескрипторов для конкретной предметной области. Они могут даже описывать типы документов, с которыми должно работать их приложение, в формате DTD (Document Type Definition - определение типа документа).

  1.2.2 Оборудование и операционная система

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

Web-серверы могут работать поверх многопользовательских операционных сис­тем, функционирующих в режиме разделения времени, таких как Unix, Windows NT, Windows 2000, Linux и др. Надежность, эффективность функционирования, расширяемость и устойчивость - вот основные характеристики, которые следует учитывать при выборе операционной системы. Как в ОС реализован стек протоколов TCP/IP является ключевым вопросом произво­дительности для протокола HTTP.

  1.2.3 Содержимое сервера

Реальная ценность Web-сайта зависит от соответствия и качества информации, ко­торую сайт содержит. Обычно на Web-сайте собрано несколько видов содержимо­го: HTML-документы, изображения, видео- и аудиообъекты. Объем и структура содержимого сервера, количество ссылок оказывают влияние на производитель­ность интрасетей и Web-служб. Например, популярная страница с "тяжеловесной" графикой будет сильно влиять на производительность сетевого соеди­нения с сайтом. Поэтому, во избежание создания "узкого места" в смысле трафика, имеет смысл дублировать наиболее популярные страницы на зеркальном сервере.

2. Восприятие производительности

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

Web-средам присущи несколько уникальных характеристик, отличающих их от традиционных распределенных систем. Из них некоторые оказывают весьма суще­ственное влияние на производительность Web-служб. Во-первых, количество пользователей исчисляется сотнями миллионов и продолжает возрастать. Случай­ный характер процесса посещения пользователями сайтов усложняет проблему прогнозирования нагрузки на сайт и планирования производительности. Кроме того, Web характеризуется большим разнообразием компонентов: различные брау­зеры и серверы работают на разнообразных платформах с различными возможнос­тями. Многообразие компонентов усложняет проблему мониторинга и сбора дан­ных о функционировании Web-служб. Таким образом, в зависимости от пропускной способности соединения и перегруженности каналов связи, пользовате­ли могут испытывать ощутимые, изменяющиеся по длительности и непредсказуе­мые задержки сети.

 

2.1 Показатели производительности

Время отклика и пропускная способность - это два наиболее важных показателя производительности Web-систем. Обычно под пропускной способностью Web-служ­бы понимают скорость обслуживания HTTP-запросов, измеряемую количеством HTTP-операций в секунду. Из-за большого разнообразия размеров запрашивае­мых Web-объектов, пропускную способность также измеряют в битах в секунду (бит/с, bps).

Для оценки производительности Web-служб применяются и другие показатели. Наиболее часто используемый из них - индекс популярности, или число попада­ний. При подсчете числа попаданий учитываются любые соединения с Web-сай­том, в том числе запросы ко встроенным изображениям страницы, а также ошиб­ки. Во время запроса одной страницы может генерироваться несколько попаданий, в зависимости от типов файлов, входящих в состав HTML-страницы. Сейчас ко­личество попаданий уже не является главным показателем производительности, поскольку для различных сайтов его важность существенно варьируется. Последо­вательность запросов к страницам одного и того же сайта, производимая пользовате­лем, называется посещениями (visits). А серия последовательных связанных друг с другом запросов, производимых во время одного посещения, называется сеансом (session). Один сеанс или посещение отделяется от следующего тайм-аутом (примерно 30 минут). Если пользователь не обращается к сайту в течение времени тайм-аута, то следующее обращение пользователя к сайту приводит к началу нового сеанса.

Некоторые компании предлагают службы по измерению времени отклика с точ­ки зрения пользователя. Они периодически опрашивают Web-службу с помощью распределенной географически сети агентов. Такой опрос дает аппроксимацию ре­ального времени отклика с точки зрения пользователей с различными географичес­кими местоположениями [28].

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

В случае Web-служб с протоколом потоковой передачи применяются иные по­казатели производительности Web-служб с точки зрения конечного пользователя. Здесь более важными, чем время загрузки, будут такие показатели, как задержка установки связи (startup latency) и дрожание или неустойчивая синхронизация (jitter). Несмотря на то что задержка установки связи влияет на восприятие пользователями сайта, в то же время она является непродолжительным, однократ­но действующим фактором производительности сайта, т.е. он измеряется один раз на запрос и не отражает качество всего сеанса.Итак, к наиболее часто используемым показателям производительности Web-служб относятся:

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

       время отклика сайта;

       пропускная способность, запросов/с;

       пропускная способность, Мбит/с;

       количество ошибок в секунду;

       количество посетителей в день;

       количество уникальных посетителей в день.

Пример   _______________________________________________________

Web-сайт туристического агентства отслеживался в течение 30 минут. За это вре­мя на сайт поступило 9000 HTTP-запросов. Сервер поставляет три вида объектов: HTML-страницы, изображения и видеоклипы. По наблюдениям установлено, что HTML-страницы составляют 30% всех запросов и имеют средний размер 11 200 байт. Изображения составляют 65% запросов и имеют средний размер 17200 байт. Видеоклипы составляют только 5% от общего количества запросов. Средний размер видеофайла составляет 139 000 байт. Какова пропускная способность сервера?

Пропускная способность, выраженная в запросах/с, составит: 9000 / (30 х 60) = 5 запросов/с. Однако, этот показатель не дает никакого представления о пропуск­ной способности сети, используемой в наблюдаемый период, и ничего не говорит о размере запрашиваемых объектов. Таким образом, для оценки пропускной спо­собности сети или сетевого адаптера нам нужно рассчитать пропускную способ­ность в Кбит/с. Для этого вычислим пропускную способность для каждого вида объектов:

Пропускная способность = (общее количество запросов х доля объектов рассмат­риваемого вида х средний размер) / период наблюдения.

Получаем:

Пропускная способность для HTML = 9000 х 0.30 х (11 200 х 8) / 1800 =

= 131.23 Кбит/с

Пропускная способность для изображений = 9000 х 0.65 х (17 200 х 8) / 1800 =

= 136.72 Кбит/с

Пропускная способность для видео = 9000 х 0.05 х (139 000 х 8) / 1800 =

= 587.12 Кбит/с.

 

Общая пропускная способность - это сумма пропускных способностей для каж­дого вида объектов:

Пропускная способность = 131.25 + 136.72 + 857.12 = 1125.39 Кбит/с.

Несложно сделать вывод, что для обеспечения рассчитанного Web-трафика се­тевое соединение должно быть, по крайней мере, линией Т1.

 

2.2 Качество обслуживания

Качество обслуживания (Quality-of-Service, QoS) Web-служб, предоставляемых по­ставщиками, играет решающую роль в привлечении и удержании пользователей. Например, разочарованные потребители покидают многие сайты электронной ком­мерции и более к ним не возвращаются, что приводит к потере доходов. Каким образом руководство компании определяет качество Web-служб? Чтобы ответить на этот вопрос, рассмотрим несколько примеров из различных отраслей промыш­ленности. Когда кто-нибудь думает о качестве услуг, предлагаемых компаниями мобильной связи, в сознании естественным образом возникают следующие показа­тели:

       Бесперебойное обслуживание 21 часа в сутки;

       Низкий показатель сброса звонков;

       Большая площадь покрытия;

       Быстрое восстановление в случае возникновения проблем;

       Точные, подробные и понятные счета на оплату услуг;

       Стоимость.

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

В Web-среде пользователь не беспокоится о "пробках", перегруженных серве­рах, пропускной способности сети или других показателях функционирования сис­темы. Помимо содержимого и эстетики, пользователи, работающие в сети, желают видеть высокий уровень производительности, возможностей и безопасности. Для потребителя в сети качество обслуживания означает скорость, прогнозируемое время отклика на запрос и работоспособное состояние по схеме 21 х 7 (21 часа в сутки и 7 дней в неделю). Любое снижение уровня обслуживания Web-сайта тут же замечается, причем далеко не одним пользователем. Показатели QoS для сете­вых служб должны представлять время отклика, эффективность, надежность, пред­сказуемость и стоимость.

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

Для того чтобы отслеживать качество обслуживания (QoS) собственных Web-сайтов, компании должны измерять трафик, производительность и интенсивность использования. После оценки качества обслуживания, руководство должно при­нять решение, существует ли необходимость в дополнительных возможностях, дабы постоянно немного опережать потребительский спрос. По мере роста спроса на Web-службы, технологическая инфраструктура Web-сайтов и Internet должна обладать достаточными возможностями для спокойной реакции на изменения в спросе. Инфраструктура должна быть создана таким образом, чтобы информаци­онные службы соответствовали спросу. Например, иногда очень сложно получить доступ к сайтам крупных газет и телекомпаний, поскольку после сообщения важ­ных новостей они оказываются перегруженными. Как заметил Хеннесси [20], "по- • добное случается как раз в те самые важные моменты, когда служба просто жиз­ненно необходима".

Ответы на следующие вопросы помогают установить набор соглашений по уровню обслуживания (service-level agreements, SLA) для Web-служб:

       Заключается ли цель службы в предоставлении информации и приложений
внешним потребителям?

       Зависят ли наиболее важные бизнес-операции от Web-служб?

       Желают ли компании располагать высококачественными бизнес-услугами,
которые доступны 21 часа в сутки 7 дней в неделю, и является ли высокая
производительность решающим моментом?

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

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

   3.  Проблемы Web-служб

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

Эталонная модель Web-задержек, показанная на рис. 1.3, создает структуру для анализа эффективности Web-транзакций. Она группирует задержки, связанные с выполнением Web-служб, по четырем категориям: 1) этап поиска в DNS; 2) этап установки TCP-соединения; З) время выполнения на сервере; 1) время пребывания в сети. Первый шаг при выполнении Web-транзакции связан с поиском информа­ции в DNS, когда браузер преобразует имя сервера, указанное в URL-адресе, в IP-адрес с целью установки TCP-соединения. Если имя сервера не может быть раз­решено при помощи локального кэша, запрос отправляется на DNS-сервер более высокого уровня. Выяснилось, что для ведущих сайтов электронной коммерции в среднем на поиск в DNS тратится от 0.01 до 0.11 с. Самые быстрые сайты затра­чивают на поиск в DNS 0.001 сек [26]. В следующем разделе подробно рассматри­ваются остальные три источника задержек.

   3.1 Анатомия Web-транзакции

В распределенных системах, подобных WWW, если что-то идет не так, как запла­нировано, ответственность за плохую производительность настолько расплывчата, что винить в этом просто некого. Таким образом, первый шаг к тому, чтобы ула­дить проблему эффективности работы систем, основанных на Web-технологиях, заключается в понимании того, что происходит после щелчка кнопкой мыши на некоторой ссылке. Давайте изучим анатомию Web-транзакции, которая показана на рис. 1.1. Разложим типовую транзакцию на основные задачи, выполняемые в трех базовых компонентах Web-системы: браузере, сети и сервере [10].

 

1. Браузер

       Конечный пользователь щелкает мышью по гиперссылке и запрашивает до­
кумент.

       Клиентский браузер ищет запрашиваемый документ в локальном кэше и в
случае удачи возвращает документ. В этом случае время ответа пользовате­
ля обозначается как R Browser, wi-

       В случае отсутствия документа:

 

   Браузер запрашивает DNS-службу на предмет установки соответствия
между именем хоста сервера и его IP-адресом.

   Клиент открывает TCP-соединение с сервером, определенным в URL-ад­
ресе гиперссылки.

   Клиент отправляет серверу соответствующий HTTP-запрос.

•    После получения ответа от сервера, браузер форматирует и отображает на
экране документ и визуализирует связанные с ним изображения. Возвращае­
мый документ сохраняется в кэше браузера. Пусть
R Browser.miss - это общее
время обработки запроса браузером при неудачном поиске в кэше браузера.

2.   Сеть

•   Сеть порождает задержки во время доставки информации от клиента к сер­
веру (
R'w на рис. 1.1) и обратно от сервера к клиенту (R'm на рис. 1.1). Эти
задержки являются функциями различных компонентов на пути между клиен­
том и сервером, таких как модемы, маршрутизаторы, линии передачи, мос­
ты и коммутаторы. Пусть Л Network- общее время, затрачиваемое на HTTP-
запрос в сети. Тогда #'Neiwork = r'n\ + R'm-

3.  Сервер

       От клиента поступает запрос.

       Сервер производит разбор запроса в соответствии с HTTP-протоколом.

       Сервер выполняет метод запроса (т.е. GET, HEAD и т.д.).

•   В случае GET сервер ищет файл в своем дереве документов с использова­
нием услуг файловой системы; файл может находиться в кэше или на дис­
ках.

       Сервер считывает содержимое файла с диска или из кэша и записывает его
в сетевой порт.

       Когда файл полностью передан, сервер закрывает соединение, если только
не определено устойчивое соединение.

•   Время пербывания на сервере, R'senn, - это время, затрачиваемое на выпол­
нение HTTP-запроса. Оно включает в себя время обработки и время ожида­
ния на различных компонентах сервера, таких как процессор, диск и сете­
вой адаптер.

Когда запрашиваемый документ не находится в кэше клиента, время отклика R на запрос представляет собой сумму времени пребывания запросов на всех ре­сурсах:

Когда поиск оказывается удачным и данные доступны в локальном кэше кли­ента, время отклика, воспринимаемое конечным пользователем, вычисляется сле­дующим образом:

Обычно Кш « -Rmiss. Давайте рассмотрим случай, когда браузер ищет запраши­ваемые данные в локальном кэше Nc раз по каждому запросу NT. Среднее время отклика, R, для всех запросов NT может быть записано как:

Где рс - Nc I nt показывает долю времени, в течение которого данные иска­лись в локальном кэше, т.е. вероятность попадания в кэш.

Пример   _______________________________________________________

Пользователь желает проанализировать влияние размера локального кэша его браузера на воспринимаемое время отклика сети. Пользователь отметил, что 20% запросов было обработано локальным кэшем и среднее время отклика составило 100 мс. Среднее время отклика на запросы, обрабатываемые удаленными сайтами, составило 3 с. Среднее время, воспринимаемое пользователем:

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

Этот пример иллюстрирует влияние размеров кэша на производительность Web.  •

  3.2 Узкие места

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

 

Пример   _______________________________________________________

Рассмотрим домашнего пользователя, который недоволен временем доступа в Internet. Он жалуется, что загрузка страницы среднего размера (в среднем 20 Кб) занимает слишком много времени. Чтобы сократить время отклика, пользователь обдумывает возможность обновления своего настольного компьютера на тот, у ко­торого процессор работает вдвое быстрее.

Прежде чем тратить деньги, пользователь желает получить ответ на следующий вопрос: "За счет чего сократится время отклика, если я увеличу скорость своего настольного компьютера?" Давайте примем, что сетевое время для передачи сред­ней страницы по сети составляет 7.5 с. Среднее время пребывания на сервере -3.6 с, а время, затраченное браузером настольного компьютера (т.е. время, затра­ченное на синтаксический разбор, форматирование и отображение ответа на экра­не) - 0.3с. Воспользовавшись уравнением (1.1.1), получаем:

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

Таким образом:

Новое среднее время отклика составит:

Однако, после удвоения скорости работы настольного компьютера время от­клика сокращается с 11.10с до 11.25с, т.е. всего на 1.3%! Модель ясно показы­вает, что модернизация ЦП не оказывает существенного влияния на время откли­ка, поскольку настольный компьютер не является узким местом первостепенной важности.

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

 

Пример   ______________________________________

Производитель фармацевтической продукции предполагает использовать интрасеть для распространения молекулярной структуры химикатов, созданных компанией. Интрасеть будет применяться для сеансов обучения персонала в оперативном ре­жиме. В каждом занятии участвуют 100 сотрудников, и мы можем считать, что од­новременно работают 80% стажеров. Во время занятия каждый пользователь выполняет в среднем 100 операций в час. Каждая операция требует в среднем пять изображений. Средний размер запрашиваемых изображений составляет 25 600 байт. Какова минимальная пропускная способность сетевого соединения с сервером изображений?

Имеем 80 (0.8 х 100) активных пользователей. Каждый пользователь выполняет 100 / 3600 операций/с. Каждая операция создает 5 х 25 600 х 8 бит данных. Таким образом, минимальная пропускная способность равна:

Следовательно, если сетевое соединение - это линия Т1 (1.511 Мбит/с), то сеть будет являться узким местом данного Web-сайта интрасети.

Пример 1.5 иллюстрирует некоторые аспекты, использованные в определении размеров интрасети. Во-первых, необходимо оценить количество информации, по­стоянно находящейся на сервере. Эта информация включает в себя количество объектов (т.е. документы, видео- и аудиофайлы) и их размеры. Второй фактор -характер информации, которую сервер будут передавать. Другими словами, како­во содержимое сайта? Мультимедиа-файлы в 100-10000 раз больше, чем HTML-страницы, и они требуют большую долю пропускной способности сети. Третий

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

Литература

1. T. Berners-Lee, R. Cailliau, H. Nielsen, and A. Pecret, "The World Wide Web," Comm. ACM, vol. 37, no. 8, pp. 76-82, Aug. 1991.

2. P. Bernstein and E. Newcomer, Principles of Transaction Processing, Morgan Kaufmann, San Francisco, California, 1996.

3. A. Bestavros, R. Carter, M. Crovella, C. Cunha, A. Heddaya, and S. Mirdad, "Application-Level Document Caching in the Internet," Proc. Int. Workshop Distrib. Networked Environments, Canada, 1995.




Rambler's Top100