Отчет по исследованию комплексной эффективности

Исследование [KW00], поставившее своей целью изучить факторы, влияющие на комплексную эффективность Web, проводилось с конца 1999 года в течение всего 2000 года. Инфрастуктура и методология этого исследования основывались на предыдущем исследовании совместимости, которое описывалось в разделе 15.3.4. Группа Web-сайтов была увеличена, чтобы включить популярные сайты, работающие под НТТР/1.0.

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

МЕТОДОЛОГИЯ КОМПЛЕКСНОГО ИССЛЕДОВАНИЯ

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

Исследование комплексной эффективности игнорирует роль, которую могут играть прокси-серверы. Вместо этого генерировался трафик с использованием httperf [MJ98]. Назначение httperf, как уже говорилось в разделе 15.3.4, состоит генерации HTTP-запросов, установлении соединений, передаче запросов и получении информации о различных стадиях обработки запросов. Инструментальное средство имеет несколько изъянов, не позволяющих ему действовать в качестве полноценного клиента в реальном исследовании комплексной эффективности. Средство передает запрос клиента непосредственно исходному серверу и не предусматривает наличие одного или нескольких прокси-серверов на пути. Хотя ряд свойств httperf таких как способность поддерживать долговременные соединения и предоставлять информацию о времени на различных этапах обработки запросов, делает его привлекательным клиентским инструментальным средством, оно не является клиентом, совместимым НТТР/1.1. Например, оно не выполняет функций браузера no воспроизведению ответа и поэтому позволяет получать лишь нижнюю оценку величины задержки. Репрезентативным клиентом может быть либо полностью совместимый с НТТР/1.1 клиент, который также способен предоставлять информацию о времени выполнения этапов запросов, либо совместимый браузер, который подвергся модификации с целью регистрации необходимой статистической информации.

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

репрезентативное исследование должно принимать во внимание множество факторов, относящихся к Web-сайтам.

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

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

•          Версия и параметры настройки. Версии протоколов сервера могут быть различными (НТТР/1.0 или НТТР/1.1). Для конкретной версии протокола имеется множество реализаций, включая Apache или Netscape. Для одной программной реализации может иметься множество различных способов настройки, например, подключения или отключения протокола Secure Socket Layer (SSL).

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

•          Архитектура сервера. Следует принимать во внимание различные архитектуры серверов: с управлением по событиям, с одним серверным процессом, с множеством программных потоков, с множеством процессов и т.д. (см. главу 4, раздел 4.4).

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

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

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

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

КОМПЛЕКСНОЕ ИССЛЕДОВАНИЕ. ДЕТАЛИ ПРОВЕДЕНИЯ ЭКСПЕРИМЕНТОВ

В этом разделе мы познакомимся с деталями экспериментов, выполненных для исследования комплексной эффективности Web. Для отправки разнообразных запросов было выбрано одиннадцать клиентов в различных странах. Группа серверных сайтов была выбрана на основе двух приведенных выше критериев: популярности и версии протокола. Основное внимание при проведении исследования уделялось выбору репрезентативного «среза» сайтов в отношении популярности и поддерживаемой версии протокола. Набор серверов и клиентов, используемый в комплексном исследовании, был взят из предыдущего исследования PRO-COW [KA01], описанного ранее в разделе 15.3.1. На деле многие решения при проведении комплексного исследования были обусловлены решениями, принятыми в ходе исследования PRO-COW. Это дало возможность повторно использовать программное обеспечение, построить разумную инфраструктуру и воспользоваться готовой методологией. Программа httperf, используемая в PRO-COW, была модифицирована для получения дополнительной информации. Набор тестируемых сайтов был расширен за счет включения сайтов НТТР/1.0, не рассматривавшихся в исследовании PRO-COW (целью которого было изучение совместимости с НТТР/1.1). Всего было протестировано 711 серверных сайтов. Однако использование инфраструктуры и методологии PRO-COW имело и недостатки. Выбор сайтов для тестирования мог быть и иным, если протокол и популярность являются не единственными факторами, которые следует учитывать. Например, могли быть включены другие Web-реализации серверов, отсутствующие в выборке популярных сайтов.

Комплексное исследование эффективности основное внимание уделило четырем факторам:

•          Возможности протокола. Исследование изучало различия между НТТР/1.0 и НТТР/1.1 с точки зрения сохранения соединения между отдельными парами запрос-ответ. В исследовании не рассматривается подмножество серверов НТТР/1.0, поддерживающих долговременные соединения с помощью заголовка Keep-Alive.

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

•          Запросы на диапазоны. Были рассмотрены различия времени ожидания при получении части ресурса вместо всего ресурса целиком.

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

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

Выбор URI был ограничен домашней страницей каждого из сайтов, участвующих в тестировании. Опять-таки этот выбор нельзя назвать идеальным, поскольку до- манншя страница может не отражать популярности всего сайта. Выборка ресурса, отстоящего от домашней страницы на несколько «щелчков мышью», — вполне обычное дело. Другимисловами, хотя сайт www.vpopular.com NKmeT быть оченьпопуля- реи, эта популярность достигается за счет pecypca http://www.vpopular.com/top- ten.html. Время загрузки домашней страницы http://www.vpopular.com/ может отличаться от времени, необходимого для загрузки ресурса http://www.vpopular.com/ topten.html.

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

1.       Последовательный. Первый метоД состоит й последовательном извлечении контейнерного документа и встроенных в него ресурсов с использованием протокола НТТР/1.0 через четыре отдельных соединения,

2.       Пакетный (burst). Модификация первого метода, при котором до четырех соединений выполняются параллельно.

3.       Долговременный. Третий метод состоит в использовании долговременного соединения без конвейеризации запросов.

4.       Долговременный с конвейеризацией. Четвертый метод состоит в использовании долговременного соединения НТТР/1.1 с конвейерной обработкой запросов в этом соединении.

Для оценки дисперсии результатов, обусловленной разным временем суток, была выбрана более узкая группа серверных сайтов; Исследование было повторено в различное время в течение суток (четыре раза с интервалом в шесть часов), чтобы определить дисперсию.

В части исследования, посвященной кэшированию, за основу был взят кэш на стороне клиента в предположении, что отсутствие изменения размера ресурса между последовательными ответами указывает, что ресурс не был модифицирован. Использование факта изменения размера представляет собой простой эвристический подход — могут учитываться также заголовки ответов, такие как ETag и Last- Modified. При более широком тестировании более реалистичным будет использовать для индикации изменения ресурса контрольную сумму. Тем самым охватываются ситуации, когда ресурс изменяется без изменения длины содержания. Вместе с исследованием эффективности кэширования были также исследованы затраты на нроверку актуальности и возврат кода ответа 304 Not Modified.

РЕЗУЛЬТАТЫКОМПЛЕКСНОГОИССЛЕДОВАНИЯ

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

Не все серверы успешно отвечали на запросы, а ответившие не всегда возвращали все встроенные ресурсы. Некоторые ресурсы не были найдены (ответ содержал код 404 Not Found) или запрос на них переадресовывался (с кодом ответа 302 Found). Один из неожиданных результатов состоял в том, что нри запросе Группы ресурсов через долговременное соединение с использованием конвейеризации, возвращались не все ресурсы. Реализации серверов иснользуют различные эвристические процедуры для принятия решения, когда закрывать долговременные соединения. В главе 7 (раздел 7.5.5) мы рассмотрели различные причины, по которым сервер закрывает существующие долговременные соединение. К ним относятся: длительный период бездействия (если запросы направляются по существующему долговременному соединению), нерегрузка сервера, превышение допустимого числа запросов в соединении, величина таймаута между запросами и код ответа, требующий закрытия соединения.

В исследовании все запросы в долговременном соединении посылались один за другим, после чего соединение закрывалось. Закрытие долговременных соединений осуществлялось в зависимости от числа запросов, обрабатываемых в одном соединении. В исследовании соединение называется совершенньш долговременным соедииением, если все запрошенные объекты были получены через одно соединение. Серверы способны передавать в долговременном соединении только определенное число запрашиваемых ресурсов. Исследование показало, что две трети серверов проявляли определенную степень совершенства при поддержании долговременных соединений, лишь около четверти тестируемых серверов проявили полное совершенство в поддержании долговременных соединений. Четверть серверов не сообщали о завершении долговременных соединений; т.е. они явно не отправляли заголовок ответа Connection: close, но закрывали соединение. Эффективность, выраженная через общее время ожидания на стороне пользователя, представляется максимальной, если серверы проявляли совершенство при поддержании долговременных соединений. Частично ухудшение эффективности для серверов, не прояв- лявщих совершенства при поддержании долговременных соединений, определяется затратами, связанными с установлением нового соединения. С другой стороны, использование пакетных соединений НТТР/1.0 (несколько параллельных соединений) дает лучший результат, чем несовершенное поддержание долговременных соединений серверами. Главная причина этого состоит в том, что затраты на повторное соединение сводят на пет повышение эффективности за счет долговременных соединений.

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

Исследование кэширования не было по-настоящему репрезегггативиым, поскольку большинство ресурсов являлись статическими, а длительность тестирования составила всего одну неделю. В исследовании время проверки нахождения ресурса в кэше принималось равным нулю. При этом было выявлено, что новторное использование кэшированного ответа может значительно уменьшить время ожидаиия ответа. Кэширование давало максимальную выгоду, когда ресурсы запрашивались последовательно через соединение НТТР/1.0, которое имело наибольшее время ожидания среди четырех способов соединения. Соответственно в наибольшем выигрыше оказался тот способ соединения, который сопровождался наибольшими затратами на загрузку объектов. Анализ влияния затрат на проверку актуальности (с выдачей запросов GET If-Modified-Since) показал, что для последовательных соединений НТТР/1.0 общее время на извлечение ресурса было гораздо выше. Результаты проверки актуальности были подвергнуты перекрестному тестированию путем включения заголовка If-None-Match: * (см. главу 7, раздел 7.3.3) в запросы GET для получения ответа 304 Not Modified. Была отмечеиа более высокая относительная эффективность последовательных запросов НТТР/1.1 в сравнении с другими опциями, предусматривающими проверку актуальности кэша. В целом исследование кэширования показало, что при извлечении меньшего количества объектов наблюдается меньше различий между различными возможностями протокола.

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

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

•          Вспомогательные серверы. Серверы, обычно размещаемые вместе с базовым сервером. Если альтернативный сервер и базовый сервер имеют одинаковый суффикс (например, серверы images.cnn.com и www.cnn.com имеют один и тот же суффикс, cnn.com), считается, что серверы расположены в одном месте.

•          Рекламные серверы. Серверы, используемые для распространения рекламы (их имена обычно начинаются со строки ad).

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

•          Смешанные. Другие серверы, не подпадающие ни под одну из трех указанных выше категорий.

Хотя разбиение по категориям может оказаться полезным, точно отнести каждый сервер к определенной категории не всегда оказывается возможным. Например, рекламный сервер может распознаваться по некоторым хорошо известным именам или префиксу ad в имени сервера. Аналогично, серверы распространения содержания могут распознаваться по известным префиксам, таким как akamai, в URI встроенного ресурса. Однако не все URI, содержащие префикс ad, могут соответствовать рекламным сайтам, а ряд ресурсов, обслуживаемых сайтами распространения содержания, не содержат имени сети распространения содержания.

Исследование показало, что среди популярных серверных сайтов 13,5% хранят некоторую часть своего содержания вне базовых серверов. Если базовыми серверами обрабатывалась лишь небольшая доля встроенных объектов, общее количество HTTP-запросов, которые базовый сервер должен обработать, может быть уменьшено. Прием HTTP-запроса, его синтаксический анализ и возврат ответа составляют значительную часть общей работы, которую приходится выполнять исходным серверам. Таким образом, уменьшение количества объектов, обрабатываемых базовым сервером, поможет снизить нагрузку на исходный сервер.

Сети распространения содержания (рассмотренные в главе 11, раздел 11.13) работают по принципу размещения зеркальных серверов ближе к пользователям, что не обязательно означает географическую близость. Определению ближайших серверов был посвящен ряд исследований QCDK00]. Данное комплексное исследование также показало, что скорость передачи данных при доставке содержания была гораздо выше, когда ресурсы загружались с серверов распространения содержания, нежели с базовых серверов, хотя имеет значение и местоположение клиента. Наиболее известной сетью распространения содержания, с которой осуществлялось взаимодействие в ходе комплексного исследования, была сеть Akamai [Aka]. Пользователи Akamai преобразуют URI встроенных ресурсов в URI, идентифицирующий сайт Akamai, включая в него строку akamai. Тем самым обеспечивается доставка ресурсов с зеркальных серверов Akamai, а не базового сервера. Например, http://www.cnn.com/foo.gif должен быть преобразован в http://al38g.akamaitech.net/0923/sdh2/www.cnn.com/foo.gif. В исследовании встроенные ресурсы загружались и с зеркального сервера сети распространения ресурсов, и с базового сервера с целью сравнить скорость загрузки данных.

Источник: Web-протоколы. Теория и практика. — M.: ЗАО «Издательство БИНОМ», 2002 г. – 592 c.: ил.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100