Любая информационная технология проходит в своем развитии ряд этапов - от зарождения до промышленного стандарта. В один прекрасный момент на этом пути появляется необходимость оценки эффективности применения тех или иных решений в рамках используемой технологии. Сделать это можно только при наличии необходимого статистического материала и стандартных методик обработки - технология WWW в 1995 году как раз и вступила в этот период. Проблема сбора статистики и ее обработки стала одной из главных тем очередной конференции Web, которая прошла в конце прошлого года в Бостоне.
Кто, Как и Зачем посещает страницы Паутины? Если знать ответ, то можно, во-первых, оценить целесообразность создания своей базы данных Web; во-вторых, когда такая база данных создана, попытаться улучшить эффективность ее функционирования. Понятно, что эффективность бывает разная: можно рассматривать выгоду от создания и ведения базы, а можно говорить о некой иной величине, которая позволила бы косвенно оценить усилия по разработке базы данных Web. Но результат работы не определяется обилием пролитого пота, потраченных нервов, или временем, проведенным за клавиатурой. Система может обладать отличным дизайном, обрабатывать запросы с поразительной быстротой, но из-за отсутствия в ней актуальной информации совершенно не посещаться пользователями Internet. Возможны и другие причины несоответствия затраченных усилий и результата. При разработке или эксплуатации своей базы данных нельзя слепо полагаться на чужой опыт. Другие базы данных, особенно американские, функционируют в условиях иной инфраструктуры средств связи и отличных от наших принципов финансирования, что определяет и многие технические решения. Поэтому следует организовать собственный мониторинг использования ресурсов системы и руководствоваться его результатами при администрировании базы данных.
Кому и зачем нужен анализ сети
Существует довольно обширное и разнообразное ПО, которое позволяет анализировать статистику посещений. Только список Yahoo составляют 29 различных программ анализа статистики и подготовки отчетов. Кроме этого еще имеется, как минимум, 13 коммерческих программ. Прежде, чем перейти к их описанию, определим основные причины, которые вызвали появление этого класса программ.
Понятно, что первой и главной причиной, заставившей задуматься об анализе статистики посещений web-страниц, остается экономическая эффективность размещения материалов на WWW и, в первую очередь, материалов рекламного характера. Не секрет, что большинство свободно доступных информационных ресурсов в сети либо существует за счет размещения рекламы товаров и услуг, либо спонсируется организациями, чьи логотипы заполняют домашнюю страницу системы. (Замечу, что это во многом определяет и развитие изобразительных средств Паутины, в частности, языка HTML.)
Вторым основным спонсором баз данных в сети являются некоммерческие организации, главным образом правительственные. Здесь ситуация со сбором статистики несколько иная. Как правило, количество выделяемых средств прямо не зависит от того, сколько человек посетило ту или иную страницу. Правительственная, научная или общественная организация решает обычно двойную задачу: обеспечить необходимой информацией тех, кто в ней нуждается, и заставить пользователей посетить страницы, содержание которых, с точки зрения этой организации, должен знать каждый. Для этой группы, кроме того перечня сведений, который был представлен для коммерческих пользователей, важно знать еще и групповую статистику посещений, т.е. статистику посещений групп страниц, соответствие статистики посещений страниц базы данных прогнозам.
Кроме того, некоммерческие системы используются для выполнения совместных работ и здесь важно знать общую динамику изменения страниц базы данных. Не зря практически все коммерческие службы поддерживают страницы типа: "What is new" и "What is cool". Правительственные организации, помимо того, должны быть заинтересованы в открытой публикации статистики использования ресурсов, на которые затрачены деньги налогоплательщиков.
Существуют также и собственные нужды администраторов баз данных и разработчиков страниц Web, заинтересованных в статистике, относящейся к применяемому пользователями ПО и скорости доступа к страницам. Для администратора важна информация о частоте использования роботов, которые бродят по "паутине", и объектах их поисков. Интересна также информация об отказах, особенно об отказах по истечению времени ожидания, характерных для отечественных серверов, обслуживающих зарубежных пользователей.
Журнал посещений
Главным инструментом при анализе эффективности работы базы данных Web является журнал посещений сервера.
Есть несколько типов журналов посещений. Формат журнала зависит от типа используемого сервера. Однако формат записей журнала посещений уже стабилизировался, и большинство серверов поддерживает следующий перечень полей:
- - доменное имя удаленного хоста или его IP-адрес;
- - имя пользователя (часто не указывается);
- - идентификация пользователя;
- - дата и время посещения;
- - запрос клиента;
- - код возврата;
- - количество переданных байт.
Кроме того, некоторые серверы записывают в журнал еще и URL страницы, с которой осуществлен доступ, а также тип программного обеспечения клиента.
Кроме файла посещений, многие серверы ведут и другие системные журналы, например, журнал ошибок, журнал страниц, в которых установлены ссылки на данную страницу, журнал программного обеспечения клиентов. Большинство коммерческих серверов, например, сервер Open Market или Netsite, комплектуются программами анализа файла посещений. В первом случае это программа WebReporter, а для Netsite в рамках пакета компании SGI WebForce поставляется программа WebStone, главным назначением которой является не только сбор и анализ статистики посещений, но и тестирование сервера.
Свободно распространяемые программы обработки статистики
Среди свободно распространяемых программ интерес представляют Analog, AccessWatch, Web-Scope, Statbot, mw3s и Raytraced Access Stats.
Analog - программа, разработанная Стефеном Тернером из лаборатории статистики Кембриджского университета; считается одной из лучших программ. Результаты выводятся в виде ASCII-файлов, содержащих также элементы символьной графики. Программа анализирует файлы посещений как в старом, так и общем формате сервера NCSA. Сводный отчет содержит общее число посещений сервера, а также общее число ошибок за исследуемый период, число переадресаций, среднее число запросов в день, число обслуженных хостов, число страниц, с которых осуществлялся доступ, число некорректных записей в файле посещений, общее число байт, переданных клиентам, и среднее число байт, переданных за сутки. Программа Analog генерирует месячный отчет по доступу к базе данных, недельный отчет и несколько видов суточных отчетов: сводный отчет по дням недели и по конкретным датам. Для анализа популярности страниц приводится статистика посещения каталогов и отдельных страниц базы данных. Программу можно получить по адресу: ftp://ftp.statslab.cam.ac.uk/pub/users/sret1/analog/.
AccessWatch - это сценарий, написанный на Perl 5.0 Дейвом Маером. Данный сценарий позволяет собирать статистику не только по серверу в целом, но и по отдельным домашним страницам пользователей. Для работы желательно иметь программу просмотра страниц Web, которая дает возможность отображать таблицы HTML, что бывает необходимо для представления данных в виде гистограмм. Такой метод вывода статистики в программах анализа журналов посещений довольно популярен не только в свободно распространяемых программах, но и в коммерческих продуктах. AccessWatch генерирует отчет о суточной и почасовой статистике посещений, упорядоченное по частоте посещений распределение страниц, частоту посещения с разных доменов, а также упорядоченный список 10 наиболее активных хостов. Адрес AccessWatch: http://www.eg.bucknell.edu/~dmaher/accesswatch/.
Mw3s - это одна из версий программы Multi Server WebChats, разработанной Тобиасом Оетакером. Главное назначение этого пакета - сбор статистики с нескольких http-серверов. Пакет состоит из двух программ: первая устанавливается как CGI-сценарий на каждом сервере, который будет находится под присмотром mw3s; вторая заносится в перечень регулярно выполняемых действий на машине, осуществляющей мониторинг. Mw3s, как и AccessWatch, использует механизм таблиц HTML для изображения гистограмм. Адрес Mw3s: ftp://ftp.dmu.ac.uk/pub/netcomm/src/web/.
Statbot - программа генерации статистических отчетов о посещении Web страниц, которая поддерживается Дейвом Табсом. Statbot генерирует графические отчеты в формате GIF, ссылки на которые могут быть включены в другие HTML-страницы. Генерируется 8 различных графиков-гистограмм: трафик за последние семь дней, за последние 24 часа, сравнительный график трафика за последние четыре недели, графики максимального и среднего трафика для каждого дня недели, график 10 наиболее активных машин, график соотношения общего числа посещений каждой страницы к числу повторных посещений этой же страницы, круговая диаграмма распределения посещений по доменам и график общего числа байт, переданных с данного сервера в день. Адрес программы: ftp://ftp.xmission.com/pub/users/d/dtubbs/.
Web-Scope - пакет анализа статистики посещений. Пакет состоит из двух частей: программы построения дополнительных журналов и программы отображения данных. Среди обычного набора графиков и гистограмм особый интерес представляют диаграммы анализа информации о пути достижения страниц базы данных: местоположение ссылок на страницы, содержание файлов закладок, список роботов, посетивших страницы, и перечень интересовавшей их информации. Адрес пакета: http://www.tic-systems.com/statinfo.html.
Raytraced Access Stats - программа подготовки данных для отображения программой POV raytracer. Главное достоинство этой программы - прекрасная трехмерная графика, используемая для построения гистограмм. Информацию о программе можно получить по адресу: http://web.sau.edu/~mkruse/scripts/access3.html
Коммерческие программы
Теперь рассмотрим некоторые коммерческие программы обработки статистики посещений Web. Коммерческие программы обычно являются частью большого коммерческого пакета и могут не только группировать данные из файлы посещений и отображать их в виде графиков и гистограмм, но и обладает некоторыми дополнительными возможностями. Это может быть обработка журналов не только Web-серверов но и журналов других программ, например, ftp. Системы могут обеспечивать тестирование серверов на предмет устойчивости их работы, как это делают WebStone или WebTap.
WebReporter - программа разработана компанией Open Market (http://www.openmarket.com/) как часть интегрированного пакета для реализации базы данных Web. Она способна анализировать статистику не только "общего" формата журнала посещений, но и расширенного формата сервера Open Market. Один список возможных отчетов, которые может произвести на свет WebReporter, занимает две машинописных страницы. Правда, особой оригинальностью все эти отчеты не отличаются, но представляют достаточно детальное представление информации.
WebTrac - программа предназначена для анализа журнала посещений сервера http. Главное ее отличие от других продуктов - возможность отделения внутреннего трафика компании от внешнего. Программа базируется на наборе средств LDST Teletrac, которые созданы для обработки больших объемов данных. Результат обработки журнала посещений представляется в виде графиков и гистограмм, как двухмерных, так и трехмерных. Информацию о WebTrac можно получить по адресу: http://www.lds.com/.
WebStat - программа предназначена для обработки данных из файлов посещений Web. Ее особенностью является возможность экспорта данных, обработки таблиц и анализа образцов трафика пользователей (т.е. перехода с одной страницы на другую). Кроме этого, WebStat отображает график месячного, суточного и почасового применения пользователями базы данных. Система разработана в Huntana и информация о ней может быть получена по адресу: http://charlo.math.umt.edu/webstat.
SiteTrack - это комплексная система которая позволяет получить статистику визитов в базу данных, информацию о количестве пользователей, которые посетили базу данных, статистику по ссылкам, которым пользователи следовали, а также по частоте использования ссылок на внешние базы данных. Кроме этого, SiteTrac позволяет создавать интерактивные игры, создавать динамические документы и рядом других возможностей, ориентированных на коммерческие приложения. Система SiteTrack входит в пакет WebServer компании Oracle. Информацию о пакете можно найти по адресу: http://www.cortex.net/sitetrack.
Специализированные серверы сбора статистики
Однако не всегда имеется возможность собирать статистику о посещении страниц. Разработчик страницы может не иметь доступа к локальному файлу статистики, поэтому для этих случаев в World Wide Web существует специальный сервис, реализуемый, например, программой Internet Audit Bureau. Все, что нужно сделать, пользуясь этого сервиса, - это зарегистрировать свою страницу в базе данных IAB. После этого вся тяжесть обработки статистики обращений к странице ложится на администрацию IAB. Когда страница зарегистрирована, статистику по ее посещению можно просмотреть по специальной ссылке http://one.internetaudit.com/act/ZQXXXXXXX.gif, где XXXXXXX задает регистрационный номер пользователя. Статистика обновляется раз в 48 часов. Следует заметить, что программное обеспечение IAB, а также WebCounter является свободно-распространяемым и при желании его можно установить и использовать локально на своем сервере. Сервис по регистрации на сервере, аналогичном IAB, открывает для широкой публики списки наиболее посещаемых страниц в виде рейтинга первых 5% самых посещаемых страниц из общего числа зарегистрированных. Понятно, что такая информация чрезвычайно полезна при решении вопроса о заключении соглашения по размещению своей информации на том или ином коммерческом сервере. Конечно, приятно найти свою страницу в списке самых посещаемых, узнать, что вашей информацией пользуются главным образом американцы, или обнаружить, что наиболее активным пользователем вашей базы данных является ее администратор, как это наблюдается на многих отечественных серверах, особенно в период их установки и наполнения.
Перечисленные способы анализа - первые и самые простые средства работы со статистикой. Крупные коммерческие информационные службы Web, такие как Yahoo, Lycos и, особенно, Infoseek, пришли к пониманию необходимости разработки методик коррекции структуры информационной базы данных на основе результатов анализа статистики. Кроме пассивного анализа существуют еще активные способы сбора информации путем добровольного опроса пользователей, однако это уже выходит за рамки технологии.
Павел Храмцов - руководитель группы РНЦ "Курчатовский Институт". С ним можно связаться по телефону (095) 196-9124 или по электронной почте dobr@kiae.su.
ЧТО НАДО ЗНАТЬ
Ассоциация Magazine Publisher предложила перечень позиций, которые следует заполнять при сборе статистики посещений страниц с рекламной информацией. Это - общее число посещений страницы за определенный промежуток времени, полное число зарегистрированных и активных пользователей, полное число пользователей, оплативших доступ, число различных пользователей, посетивших страницу (а не общее число посещений, когда один пользователь может посещать страницу несколько раз), количество принудительных обрывов связи (я бы сюда добавил и число обрывов по лимиту времени, столь характерных для отечественных систем), количество посещений страницы одним пользователем, время, потраченное на просмотр страницы, число пользователей изъявивших желание зарегистрироваться (здесь интересно сравнение с общим числом пользователей, посетивших страницу). К этому перечню следовало бы добавить еще и анализ времени задержки от размещения страницы на сети до пика обращений к ней. Очевидно, что эта величина будет зависеть от нескольких факторов: способа объявления о своей странице, места размещения ссылки на нее и качества линий связи и обслуживания клиентов, а также от типа информации, которая размещается в сети.
Достаточно важен временной фактор, например, для моего сервера, размещенного на сети в конце мая 1994 года, начало бурного роста спроса на информацию пришлось на середину-конец июня, а пик - на октябрь, когда у научной общественности закончился период отпусков и конференций. Это - иллюстрация того обстоятельства, что информационное сообщение в сети Internet не достигает потенциального получателя со скоростью распространения электрического сигнала, и этот факт следует учитывать применительно к своей базе данных.
ОСНОВНЫЕ ТЕРМИНЫ
Визит или посещение базы данных Web - обращение к странице базы данных. Посещение следует отличать от сессии и обращения к файлу базы данных (Hit).
Сессия - это множество обращений одного и того же пользователя к страницам базы данных за ограниченный промежуток времени. Время между посещениями страниц равно времени их прочтения. При работе с ресурсами Web невозможно точно определить сессию: если ее начало еще можно идентифицировать, то установить момент завершения довольно трудно, т.к. программное обеспечение клиента не сообщает об окончании данной сессии. Следует заметить, что разные разработчики программ-клиентов WWW и серверов стремятся найти решение этой проблемы. В частности, Netscape Communications предлагает в качестве решения ввести дополнительный атрибут в протокол обмена информацией, который будет определять идентификатор сессии. Идентификатор, который должен сообщаться клиенту сервером, хранится у клиента в течении сеанса работы с данным сервером.
Обращение к файлу базы данных отличается от посещения страницы тем, что одна страница может состоять из нескольких файлов. В качестве простого прима можно указать на страницы с тэгами . В этом случае программа-клиент порождает запрос к серверу, обращаясь не только к файлу с расширением html, но и к файлам, указанным в странице в качестве встроенных картинок, например с расширениями gif.