Результаты тестирования

Преимущества и недостатки

Коротко о возможностях

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

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

Программы, контролирующие трафик в реальном времени, не ограничиваются анализом плоского файла журнала регистрации, они получают необходимую информацию буквально «изнутри» систем управления реляционных или объектно-ориентированных баз данных. Поэтому им не составит труда ответить на вопрос: «Какую последовательность Web-страниц мой клиент прошел, прежде чем остановить свой выбор на продукте А?» или: «Как повлияла на число продаж наша маркетинговая кампания?».

Принять участие в тестировании мы пригласили всех производителей подобных программных средств. Однако проверить удалось только продукты Aria Enterprise 3.01 компании Andromedia и net.Analysis 4.5 компании net.Genesis. Они действительно могут собирать и обрабатывать очень большие объемы информации о посетителях Web-сайтов в реальном времени.

Сравнение этих продуктов показало, что Aria намного мощнее, устойчивее и прекрасно работает как при отказах сети, так и при самом напряженном трафике, обеспечивая быстрое и эффективное SSL-декодирование и генерацию отчетов по запросу. Однако что касается изменения формы отчетов и использования «чужих» данных, то тут непревзойденные возможности проявила программа net.Analysis. Ее подробные отчеты позволяли находить ответы на самые неожиданные вопросы, а способность «сшивать» журнал регистрации с данными других систем, полученными в реальном времени, безусловно поможет пользователям программы принимать обоснованные бизнес-решения.

Еще две фирмы, конкурирующие на данном рынке, — Accrue Insight и Marketwave Hit List Live — отказались от участия в тестировании. Accrue только что приобрела Marketwave и занимается интеграцией продуктов, так что, по словам ее представителя, пока не до проверок.

Различие в подходе

Как мы уже сказали, оба продукта выполняют в режиме реального времени сбор данных о посетителях Всемирной паутины, однако делают это совершенно по-разному. Net.Analysis строит свою работу на корреляции данных, собирая их из самых разнообразных источников — журналов регистрации, Web-трафика, приложений и даже из хранилищ данных через интерфейс открытого взаимодействия с БД (Open Database Connectivity, ODBC). Технология, реализованная в Aria, основана на скачивании данных в многомерную БД (правда, не собственную, а другого производителя). Кроме того, дополнительный модуль — монитор приложений — может извлекать оперативные данные из таких приложений, как One-to-One Commerce компании BroadVision или Netscape Application Server.

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

Единственный недостаток подхода, реализованного в Aria, состоит в том, что программа неаккуратно работает с данными журнала регистрации. Пакет net.Analysis, напротив, при потере данных из-за нарушения связи между монитором и устройством записи позволяет вручную подставить данные из журнала регистрации Web-сервера и заделать таким образом «дыру». В Aria подобная операция невозможна.

С другой стороны, сетевой монитор ПО net.Analysis не в состоянии «заглянуть» внутрь SSL-пакетов. Чтобы получить информацию о зашифрованных данных, ему необходимо проанализировать импортируемые пакеты, зарегистрированные в журналах. А вот динамически подключаемый к серверу программный модуль Aria видит SSL-трафик сервера до его шифрования и по-этому может собирать с защищенных сайтов такую информацию, которая обычно отсутствует в журналах регистрации (например, названия страниц и последовательности запросов).

Главная функция, отличающая протестированные инструменты анализа Web-трафика (их безусловно следует отнести к классу high end) от продуктов предшествующего поколения, оперирующих только с данными журналов регистрации, — это поддержка центрального информационного хранилища. Но и здесь сравниваемые продукты имеют принципиальные различия. Net.Analysis требует поддержки Oracle7.X, Microsoft SQL Server 7 или Adaptive Server Enterprise версии 11.5 фирмы Sybase. А Aria использует встроенную объектно-ориентированную базу данных ObjectStore 5.1.0 компании Object Design.

Andromedia утверждает, что по показателям производительности и масштабируемости эта БД превосходит такие реляционные СУБД, как SQL Server. Данные о каждом индивидуальном пользователе и о каждой Web-странице хранятся на сервере ObjectStore как отдельные объекты. Сторонники объектно-ориентированного подхода считают, что только в этом случае можно «на лету» строить многомерные соотношения. В реляционной БД, прежде чем ответить на запросы, включающие отношения типа «многие-ко-многим», необходимо сгенерировать множество индексов. Версия net.Analysis, использующая Oracle, находится где-то посередине между этими двумя подходами, поскольку эта СУБД позволяет работать с агрегированными данными и составными индексами, которые сохраняются сколь угодно долго.

Однако о преимуществах различных типов баз данных пусть дебатируют изготовители СУБД. Со своей стороны заметим, что наше тестирование не выявило особого превосходства в производительности ObjectStore. Как эта СУБД, так и сервер Oracle смогли предъявить почасовое распределение накопленных за месяц данных менее чем за 30 с. Когда мы говорим о большом объеме информации, то предполагаем, что посетитель Web-узла в среднем просматривает пять страниц, имеющих по пять изображений. Наш тестовый Web-сайт поддерживал 133 тыс. уникальных посетителей в день, т. е. примерно 3,9 млн. в месяц. Такой трафик вполне может встать в один ряд с трафиком известных сайтов вроде ESPN.com или Barnesandnoble.com (сайт популярнейшей в Нью-Йорке сети книжных магазинов. — Прим. перев.), имевших в сентябре прошлого года, по данным Media Metrix, свыше 4 млн. посетителей.

Применение каждой из баз данных имеет свои плюсы и минусы. Net.Analysis допускает максимальную гибкость. Вы можете автоматически импортировать данные из совершенно разных источников, например, из БД аутентификации пользователей своего сайта. Кроме того, ИТ-служба вашей организации сэкономит на зарплате, конечно, при условии, что работающий у вас администратор БД знаком с продукцией Oracle, Microsoft и Sybase. Ну а если нет, то вам придется дополнительно нанимать специалистов для обслуживания net.Analysis.

Объектно-ориентированная БД, с которой работает Aria, — своего рода «черный ящик», закрытый как для внешних данных, так и для администратора БД. Но надо отдать должное Andromedia: реализованный в Aria подход «все-в-одном» значительно упрощает инсталляцию. Нам пришлось лишь отформатировать несколько дисков в ОС Unix, используемых без оболочки. Об остальном программа Aria позаботилась сама — наше вмешательство не требовалось (вот если бы инсталляция Oracle была столь же проста!). Кроме того (в отличие от net.Analysis), Aria не требует больших трудозатрат и на сопровождение системы управления базой данных. Если таблица данных становится слишком громоздкой, программа автоматически исправляет положение. Зато мониторинг ObjectStore доставил нам массу хлопот. Мы были вынуждены специально учить новые команды файловой системы, чтобы следить за состоянием БД и контролировать использование дискового пространства. Из-за того что Aria не распознает стандартные команды Unix-оболочки, ObjectStore снабжается собственным набором утилит, работающих в режиме командной строки.

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

Web-сервер изнутри

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

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

По числу уровней отчетности продукт net.Analysis существенно обогнал Aria Enterprise. Объяснение здесь простое: генератор отчетов net.Analysis является Windows-приложением, которое подключается непосредственно к реляционной базе данных, например, к Oracle. Каждый отчет в нем представляется в виде таблицы данных или графика, позволяющих выполнить необходимые операции, скажем, определить среднее и стандартное отклонение или выявить наилучшее приближение по интересующей вас зависимости.

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

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

И net.Analysis, и Aria дают возможность с помощью отчетов выявлять пользователей, попадающих на Web-сайт с рекламных баннеров и таким образом оценивать эффект различных рекламных кампаний. Однако net.Analysis в этом направлении продвинулся на шаг дальше, поскольку он обеспечивает «взаимодействие» «весовых» данных с внешними приложениями. Мы смогли импортировать эти данные из таблиц Excel через ODBC-интерфейс и затем определить, какая рекламная кампания оказалась наиболее успешной по числу вновь привлеченных клиентов с учетом суммы затраченных средств.

Главная наша претензия к Aria по части отчетности (помимо ограниченных возможностей получения цепочки подотчетов) состоит в том, что весь анализ базируется не на просмотре страниц, а на обращениях к Web-узлу. Рекламодателей не интересует число таких обращений, так как они очень разнятся по страницам. Им нужно знать, сколько уникальных посетителей побывало на сайте и сколько на определенной странице. Эти две метрики находятся в самом конце перечня предоставляемых Aria отчетов. Правда, в силу того, что компания Andromedia оказывает услуги по интеграции продукта при инсталляции, можно эти отчеты сделать приоритетными, обратившись к их специалисту с просьбой об изменении стандартного набора отчетов. Тем не менее мы считаем, что отчет о количестве посещений страницы должен возглавлять список в стандартном комплекте поставки.

Единственная наша претензия к генератору отчетов в продукте net.Analysis — часовая задержка при доставке данных. В отличие от ПО Aria, генерирующего специальные запросы на лету, пользователю net.Analysis приходится ждать поступления данных в течение часа. Это явный недостаток, поскольку отчеты о последнем часе получаются урезанными. Например, если вы запускаете отчет о посещениях страницы, данные за последний час будут искажены, причем степень искажения зависит от того, в начале или в конце часа вы его запускаете: чем ближе к началу, тем менее надежны получаемые данные. Такая недостоверность может сыграть особую роль в тех случаях, когда выполняется статистический анализ итоговых данных, скажем, расчет среднего или стандартного отклонения посещаемости Web-сайта за 30 дней.

И тот и другой продукты понравились нам тем, что в своих отчетах они способны отразить широкий спектр интересов пользователей, или, как принято называть на сленге, профиль. В отличие от большинства программ, которые анализируют посещаемость Web-узлов, обладающих «стандартным» набором отчетов, net.Analysis и Aria могут формировать специализированные отчеты, настроенные на любой профиль пользователя. Вдобавок обеспечивается защищенное подключение к генератору отчетов в PersonalAria через Web, а в net.Analysis — из Windows.

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

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

Чтобы упростить процесс идентификации посетителей, в net.Analysis используются переменные, с которыми работает браузер. Такой способ хорош ввиду его «бесконтактности»: посетитель и не подозревает, что ведется какой-то сбор данных о его действиях. Однако если на вашем сайте есть Java-аплеты, отчет может содержать нелепые результаты, так как аплеты тоже используют собственные браузероподобные переменные и ПО анализа может воспринять их как посетителей сайта, что существенно раздует истинное число пользователей. Кроме того, для отслеживания уникальных посетителей net.Analysis привлекает имеющиеся на Web-сервере служебные программы аутентификации, например, htaccess.

Сервер-монитор ПО Aria, подключенный через API-интерфейс непосредственно к Web-серверу, для отслеживания уникальных посещений создает маркеры Internet (cookies). Это очень точный метод, но тут есть один нюанс. Пользователи могут по-разному воспринимать предупреждения. Кроме того, если один домен поддерживает два сервера, вы получите данные только об одном посещении, даже если пользователь посетит оба.

Реальное время — реальный риск

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

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

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

Но такой подход таит в себе серьезный недостаток: пересылки обращений от одной машины к другой в реальном времени влияют на пропускную способность сети. В нашей тестовой среде это «сжирало» до 20% пропускной способности сегмента сети на базе Fast Ethernet. Представьте, что может произойти с глобальной линией связи. Однако для того, чтобы снивелировать этот эффект, в Aria предусмотрено интересное решение. Вместо пересылки данных непрерывным потоком монитор может сжать их и отослать в виде пакетов.

Тем не менее такая архитектура позволяет регистрировать и интегрировать данные совершенно различных Web-серверов, обеспечивая хорошую масштабируемость. В нашем тесте на производительность ни для одного пакета не удалось создать ситуацию аварийного отказа регистратора. «Подопытные» Web-серверы (Sun Ultra 10 и Dell на двух процессорах Pentium) захлебнулись задолго до того, как каждый из тестируемых продуктов проявил первые признаки замедления.

К сожалению, у обоих продуктов нет консоли управления, обеспечивающей просмотр исполнения процессов. При отслеживании записей в журнале регистрации и мониторинге системных процессов для того, чтобы убедиться, что все четыре модуля функционируют нормально, мы использовали стандартный инструментарий Unix. Когда отказал процессор Java Servlet, используемый в PersonalAria для выявления причины отказа, нам пришлось прибегнуть к логической дедукции и весь процесс проверить по шагам в обратном порядке, начиная от генератора отчетов.

Net.Analysis имеет прекрасный Web-интерфейс для управления наборами данных в СУБД, а продукт Aria поставляется с собственным Web-монитором журнала регистрации. Они умеют отсылать по электронной почте объявления о возникших проблемах, однако эти сообщения не многим полезнее индикатора на панели управления автомобиля, предупреждающего вас, что пар, который валит из капота, — это результат неполадок в двигателе.

Последующие версии оба производителя намерены оснастить как минимум поддержкой протокола SNMP для работы с MIB (Management Information Bases), чтобы администратор мог использовать привычные средства ИТ-управления.

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

Чтобы оценить, как оба продукта поступают в случае разъединения связи между монитором и регистратором, мы разорвали, а затем возобновили это сетевое соединение. Регистратор Aria сразу же записал все незавершенные данные на диск, а монитор продолжал писать Web-данные во временный журнал регистрации на обследуемом сервере. Когда мы восстановили соединение, полный журнал регистрации был отправлен на регистратор и данные о нем исправлены в соответствии с имеющейся в БД информацией.

В net.Analysis при восстановлении после разъединения возникли определенные проблемы. Вместо того чтобы все данные отослать в журнал регистрации монитора, продукт сделал попытку синхронизировать с ним оставшуюся в регистраторе информацию. При этом программа «зависла», призывая нас удалить журнал регистрации и перезапустить систему. Из-за этого образовалась «дыра» во временном графике данных. Вообще неприятности возникали при перезапуске многих компонентов net.Analysis. Например, при попытке запустить регистратор раньше монитора монитор мог и не запуститься.

Итак, подведем итоги. Если вам нужно в реальном времени осуществлять мониторинг сервера с SSL-шифрованием (прямо из сервера или из сети), то лучше остановиться на Aria Enterprise 3.01 фирмы Andromedia. Этот продукт без всякой задержки отследит все обращения к серверу. Но если требуются разнообразные виды анализа, работа с различными типами данных и более углубленные отчеты и при этом вас не пугает задержка в пределах часа, остановитесь на net.Analysis 4.5 фирмы net.Genesis. В любом случае оба продукта решают задачи Web-мониторинга значительно лучше, чем это делают традиционные средства анализа журналов регистрации. Уровень реализованных в них решений соответствует самым современным требованиям бизнеса.


Поддержка обеспечена

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

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

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

При такой поддержке вам не придется мучиться с инсталляцией продукта. Специалисты компании сначала оценят уровень вашего оборудования, и лишь убедившись, что оно соответствует требованиям ПО, приедут к вам и на месте инсталлируют и сконфигурируют его. Ведь для работы программ нужна немалая компьютерная мощность. Только сервер БД требует двухпроцессорной машины (класса RISC или Pentium) с 1-Гбайт памятью и как минимум 10-Гбайт пространством на жестком диске (желательно в RAID-конфигурации). Чем больше ваш Web-сайт, тем более мощный компьютер понадобится.

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

Поделитесь материалом с коллегами и друзьями