Индексирование Web-узлов

         

Создание и анализ краткого отчета


1. В чем различие между видами Tree и Cyberbolic плана Web-узла?

Тreе — стандартное древовидное представление Web-узла, аналогичное тому, что используется в Проводнике. Cyberbolic — более динамичное представление. Tree позволяет раскрывать или скрывать отдельные уровни иерархической структуры узла, обеспечивая) например, просмотр ресурсов, связанных непосредственно с основной страницей, или всех ресурсов узла. Представление Cyberbolic позволяет сосредоточить внимание на отдельных объектах узла, но не поддерживает разворачивание/свертывание различных уровней иерархии.

2. Позволяет ли отчет Site Summary выяснить количество изображений, видео- и аудиофайлов на Web-узле? В каких случаях эта информация будет полезной?

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

3. Каково назначение функции Quick Search компонента Content Analyzer? Можно ли стандартными средствами поиска найти на узле объекты, большие размеры которых отрицательно сказываются на скорости их загрузки?

Функция Quick Search компонента Content Analyzer позволяет выявлять ошибки и потенциальных проблемы узла. Ресурсы, создающие при загрузке трафик, превышающий 32 кб, можно найти с помощью средства поиска Load Size Over 32 К. Такие ресурсы стоит оптимизировать для сокращения времени их загрузки.

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

Эту информацию получают с помощью подробных отчетов User и Visits. В них отражено число пользователей, посетивших узел за все время его работы, и число новых посетителей, а также среднее количество запросов и длительность посещения в расчете на одного пользователя. Их средствами Вы сумеете выявить степень популярности узла у зарегистрированных и незарегистрированных пользователей, выяснить, обращаются ли к Вашему узлу те, кто его уже ранее посещал, есть ли завсегдатаи узла и становится ли со временем Ваш узел более популярным.



это способ, которым пользователи Интернета


Занятие 3. Запросы

(продолжительность занятия 55 минут)
Элементы формы запроса Процесс запроса Наборы результатов Построение запросов и результатов Объявление параметров с помощью IDQ-файлов Раздел имен Раздел запроса Оформление результатов запроса средствами HTX-файлов Упражнение Резюме Запросы — это способ, которым пользователи Интернета и интрасети выполняют поиск интересующего их фрагмента текста или свойства документов Вашего сервера. На этом занятии Вы познакомитесь с запросами и их обслуживанием.
Изучив материал этого занятия, Вы сможете:
перечислить и описать средства запросов Index Server; описать этапы процесса обслуживания запроса в Index Server; описать роль .idq, .htx, .asp-файлов в выполнении запросов. Формы запросов позволяют пользователям Вашего Web-узла искать документы, отвечающие заданным критериям. Index Server позволяет снабдить форму запроса дополнительными средствами, упрощающими его обработку и улучшающими отображение результатов, а также контролирующими использование запроса.
Область запроса — задает набор документов, который будет просматриваться средствами поиска при выполнении запроса. Область обычно описывается путем к папке на томе носителя, например D:\Docs. Ограничения на запрашиваемое содержимое — позволяют сузить круг поиска, задавая текст, который нужно найти. Ограничения на свойства документов - задают атрибуты файлов, которые должны просматриваться при поиске, например размер файла, даты создания и изменения, имя или автор. Выделение искомого текста в найденных документах — это средство помогает создать HTML-страницу со списком документов, отвечающих критериям запроса, с выделением искомых слов красным курсивом. Кнопки Show Highlights (condensed) и Show Highlights (full text), расположенные под резюме каждого из найденных документов, позволяют посмотреть выделенные слова. Протоколирование запросов — Internet Information Server протоколирует весь трафик между клиентом и сервером. В стандартном режиме протоколирования регистрируется такая информация, как IP-адрес автора запроса и число запросов, обработанных сервером. В состав Index Server включен образцы форм запросов. Вы вправе использовать его для поиска в индексированных файлах. Эти формы можно сделать доступными посетителям Web-узлов и воспользоваться ими при разработке собственных форм. Чтобы открыть образец формы запроса, в меню Start выберите команды Programs, Windows NT 4.0 Option Pack, Microsoft Index Server, Index Server Sample Query Form.
Элементы формы запроса
Простейшая форма запроса состоит из следующих элементов.
HTML-файл — отображает Web-страницу, на которой пользователь вводит параметры запроса. Это же файл отображает результат запроса, выполненного Index Server,
Файл запроса данных
(Internet Data Query, IDQ) — IDQ-файл (файл с расширением .idq); это промежуточная форма пользовательского запроса, которую Index Server использует при просмотре индекса, Файл HTML-расширения (НТХ) —
НТХ-файл (файл с расширением .htx) представляет собой HTML-файл результатов запроса. Эти данные затем добавляются в HTML-страницу, которая передается Web-обозревателю для предоставления клиенту. Примечание
Index Server использует еще один файл, с расширением .htw — шаблон для форматирования страницы с выделением вхождений искомого текста. Содержимое HTW- и НТХ-файлов форматируется в виде Web-страницы и передается Web-обозревателю. Кроме того, для создания форм запросов можно применять активные страницы сервера (ASP) и язык структурированных запросов (SQL). Поддержку SQL S обеспечивают активные объекты данных (Microsoft Active Data Objects, ADO).
Создавая формы запросов средствами ASP, Вы вправе использовать сценарные возможности ActiveX. Запросы с применением asp-файлов позволяют воспользоваться преимуществами сценарных языков Microsoft VBScript и JScript для достижения большей гибкости в отображении результатов запроса. Активные страницы сервера подробно описаны в главе II, “Активные страницы сервера”.
Вместо стандартных форм Index Server допустимо создание SQL-запросов в приложениях, использующих ADO. Таким образом, ASP-файл может применять расширения SQL для формирования запроса, ADO для выбора данных и сценарный язык (например, VBScript) для их отображения.
Примечание
. Если производительность сервера Index Server недостаточна, ограничьтесь базовыми формами (.idq-, .htx- и .htm-файлы). Запросы с применением ASP и SQL требуют больших вычислительных мощностей, чем базовые формы. Процесс запроса
В отличие от индексирования, выполняющегося в фоновом режиме, процесс запроса инициируется пользователем и взаимодействует с Internet Information Server для передачи запроса, его обработки и возврата результатов клиенту.


Как показано на рисунке, Index Server начинает работу с преобразования поступившего запроса из формы во внутреннее представление, совместимое с индексами Index Server. Затем Index Server выполняет запрос и возвращает результаты пользователю в формате HTML.
Index Server использует IDQ-файлы для преобразования запроса из Web-формы во внутреннее представление, а НТХ-файлы — для форматирования результатов выполнения запроса.
Наборы результатов
Index Server помещает ссылки на документы, удовлетворяющие условиям запроса, в набор результатов, который возвращается клиенту.
В форме запроса можно ограничить максимальное число документов, отвечающих условиям отбора, размещаемых на одной странице результатов. Например, Вы вольны так организовать набор результатов, состоящий из 200 элементов, чтобы клиент получил информацию на 10 страницах, каждая из которых содержит по 20 найденных соответствий. Кроме того, в форму можно включить элемент, позволяющий клиенту ограничить число возвращаемых документов. Index Server способен расположить элементы набора результатов в порядке, определяемом любым свойством документа.
Если для обеспечения безопасности Internet Information Server применяются списки контроля доступа (Access Control Lists, ACL), а индексируемая совокупность документов хранится на томе NTFS, Index Server учтет эти ограничения, проверяя списки контроля доступа. Пользователь не получит в наборе результатов ссылку на документ, если у него нет права чтения этого документа.
Если список контроля доступа разрешает доступ к документу, клиент может указать, информацию о каких свойствах сервер должен вернуть в наборе результатов (эта информация определяет столбцы набора результатов).

Кроме информации о свойствах документов, Index Server способен возвращать аннотации к документам, причем аннотации могут значительно сузить область поиска.
Построение запросов и результатов
Файлы запроса данных по Интернету (файлы с расширением .idq) служат для преобразования запросов. Обладающие большими возможностями НТХ-файлы в сочетании с IDQ-файлами форматируют результаты запроса. Как показано на приведенном ниже рисунке, НТХ-файлы могут содержать расширения, позволяющие воспользоваться уникальными особенностями запросов Index Server.

К папке, где хранятся IDQ-файл и соответствующий ему НТХ-файл, должен быть разрешен доступ для выполнения.
Объявление параметров с помощью IDQ-файлов
IDQ-файл преобразует параметры HTML-формы в запрос, который выполняет Index Server.
Примечание
Все пути к IDQ-файлам должны быть полными, а не относительными или физическими путями от виртуального сервера. Другими словами, все пути должны начинаться с символа косой черты “/” и не могут включать символы “.” или “..”. Допустимые и недопустимые варианты приведены ниже. Допустимый вариант
/scripts/myquery.idq
/scripts/samples/search/query, idq
Недопустимый вариант
c:\inetsrv\scripts\myquery. Idq
scripts/query, idq
/samples/../scripts/query, idq
IDQ-файлы нельзя хранить на виртуальном сервере, заданном UNC-именем.
IDQ-файл состоит из двух разделов: имен и запроса.
Раздел имен
Всю работу выполняет раздел запроса, однако раздел имен позволяет задать нестандартные имена столбцов, к которым можно обращаться в запросе. Эти столбцы соответствуют свойствам ActiveX, определенным в файлах документов с помощью интерфейса IPropertyStorage или механизма пользовательских и итоговых свойств Microsoft Office. Раздел имен — мощный инструмент, позволяющий настроить поиск для конкретных нужд Вашей организации.
Присутствие раздела имен в IDQ-файле не обязательно; в стандартных запросах он просто не нужен.
Раздел запроса
В разделе запроса задаются его фактические параметры. В этом качестве могут выступать такие свойства, как область запроса, ограничения на содержимое, наборы результатов либо переменные форм, включая условные выражения, изменяющие значения переменной в зависимости от какого-либо условия. Раздел запроса начинается с тэга [Query], за которым следует набор параметров. Ниже приведен пример простого, но вполне типичного IDQ-файла.
[Query]
CiColumns=filename, size, rank, characterization, vpath, DocTitle, write CiFlags=DEEP
CiRestriction=%CiRestrlction%
CiMaxRecordslnResultSet=150
CiMaxRecordsPerPage=10
CIScope=\
CiTemplate=/scripts/spdc1. Htx
CISort=rank[d]
CiCatalog=d:\
Смысл строк этого файла поясняется в приведенной ниже таблице.
Строка запроса Описание
[Query] Тэг начала тела запроса
CiColumns= filename, size, rank, characterization, vpath, DocTitle, write Свойства, которые должны быть возвращены в наборе результатов (имя файла, размер, аннотация и т. п.)
CiFlags=DEEP Запрос должен выполняться над всеми дочерними папками области запроса
CiRestriction=%CiRestriction% Условия, по которым выполняется поиск
CiMaxRecordslnResultSet=150 Возврат не более 150 результатов
CiMaxRecordsPerPage==10 Возврат не более 10 результатов на одной Web- странице
CiScope=\ Запуск запроса в корневой папке
CiTemplate=/scripts/spdcl.htx Для форматирования результатов используется файл Spdcl.htx
CiSort=rank[dl Сортировка результатов в порядке убывания (“d”) ранга
CiCatalog=d:\ При обработке запроса должен использоваться индекс, хранящийся в корневом каталоге диска D
Оформление результатов запроса средствами НТХ-файлов
НТХ-файл — это HTML-файл, переменные которого ссылаются на данные результата запроса. Например, приведенный ниже код НТХ-файла определяет заголовок страницы, который отображает заданные в запросе условия поиска и диапазон документов на текущей странице. После примера кода показан форматированный HTML-текст, получившийся в результате его работы.
<%if CiMatchedRecordCount eq 0%>
<Н4>Нет документов, удовлетворяющих критерию поиска "<%CiRestrictionHTML%>" .</ Н4>
<%else%>
<Н4>Документы с <%CiFirstRecordNumber%> по %CiLastRecordNumber%> из
<%if CiMatchedRecordCount eq CiMaxRecordslnResultSet%>
первых
<%endif%>
<%CiMatchedRecordCount%>, удовлетворяющих критерию поиска "<%CiRestrictionHTML%>". </Н4>
<%endif%>
Результат работы этого кода:
Документы с 1 по 10 из первых 150, удовлетворяющих критерию поиска "systems management".
Здесь переменная <%CiFirstRecordNumber%> имеет значение 1, а <%CiMatchedRecordCount%> —150.
НТХ-файл — это стандартный HTML-файя, использующий расширения Internet Information Server и Index Server для работы с именами переменных и другой информацией. Index Server использует НТХ-файл в качестве шаблона для форматирования результатов обработки запроса.
Упражнение
В этом упражнении Вы выполните поиск по примеру индекса. Образцы страниц запросов Index Server дают достаточно полное представление о его средствах работы с запросами. Для успешного выполнения упражнений этой главы должен быть запущен процесс Index Server (Cidaemon.exe).
8 Проверка работы процесса Index
Server 1. Нажмите клавиши CTRL+ALT+DELETE и щелкните кнопку Task Manager.
2. Откройте вкладку Processes. Если Index Server работает, Вы увидите в списке процесс Cidaemon.exe. Закройте Task Manager.
8 Запуск процесса создания индекса
1. В меню Start выберите команды Programs, Windows NT 4.0 Option Pack, Microsoft Index Server, Index Server Sample Query Form. Будет запущен Microsoft Internet Explorer, а в его окне появится форма запроса.
2. В поле Enter your query below наберите ftp.
3. Нажмите Go. Этот запрос запускает процесс Cidaemon.exe, который приступает к созданию индекса.
Примечание
. Если на экране появится сообщение системы защиты, щелкните кнопку Yes. На странице результатов будет перечислено около 100 найденных документов.
4. Закройте Internet Explorer.

Теперь Вы поупражняетесь в администрировании Index Server, проверив текущее состояние индексирования с помощью утилиты Performance Monitor и Internet " Explorer.
8 Проверка состояния индексирования средствами Performance Monitor
1. В меню Start выберите команды Programs, Administrative Tools, Performance Monitor.
2. Нажмите CTRL+R чтобы открыть окно представления Report.
3. Щелкните кнопку со значком (+), чтобы добавить в отчет счетчики. Появится диалоговое окно Add to Report.
4. В списке Object выберите Content Index.
5. В списке Counters выберите все счетчики, а затем нажмите кнопку Add.
6. Нажмите кнопку Done.
Performance Monitor покажет состояние индекса. Выполняя дальнейшее задание, Вы можете время от времени средствами Performance Monitor проверять, не завершился ли процесс индексирования.
Сейчас Вы скопируете файлы в виртуальный корень Web-узла, а затем выполните операцию слияния, чтобы отфильтровать и проиндексировать новые документы. Этот процесс увеличит значения нескольких счетчиков.
8 Обновление индекса средствами Index Server Manager
1. С помощью Проводника Windows NT скопируйте содержимое папки \lis\Practice\lndex, расположенной на прилагаемом к книге компакт-диске, в папку C:\lnetpub\Wwwroot.
2. Нажмите клавиши ALT+TAB, чтобы вернуться в окно Performance Monitor.
3. Нажмите клавиши CTRL+U, чтобы обновить отчет.
Теперь отчет показывает, что число файлов, подлежащих фильтрованию, отлично от нуля. Запишите число отфильтрованных документов, число файлов, подлежащих фильтрованию, и общее число документов.
Примечание
. Так как Вы скопировали файлы в виртуальный корень Web-узла, для фильтрования и индексирования новых документов необходимо выполнить операцию слияния. 4. В меню Start выберите команды Programs, Windows NT 4.0 Option Pack, Microsoft Index Server, Index Server Manager.
5. В левой панели окна щелкните узел Index Server on Local Machine.
6. В столбце Catalog раздела Scope щелкните правой кнопкой папку Web.
7. Выберите в меню команду Merge. Появится диалоговое окно с вопросом, хотите ли Вы выполнить операцию слияния в каталоге.
8. Нажмите Yes.
9. Когда операция слияния завершится, нажмите клавиши ALT+TAB для возврата в окно Performance Monitor.
10. Нажмите клавиши CTRL+U, чтобы обновить отчет Performance Monitor.
11. Сравните записанные ранее значения трех счетчиков с текущими. Общее число документов должно увеличиться, число отфильтрованных документов также должно возрасти, а число файлов, подлежащих фильтрованию, должно стать равным нулю.
8 Проверка состояния индекса средствами Internet Explorer
1. В меню Start выберите команды Programs, Windows NT 4.0 Option Pack, Microsoft Index Server, Index Server Manager (HTML). Страница Index Server Administration будет открыта в окне Internet Explorer.
2. Нажмите кнопку Refresh, чтобы посмотреть статистику индексирования (Index Statistics). На административной странице отображается два набора статистических данных: статистика кэша и статистика индекса.
3. Ознакомьтесь со статистикой индекса. Если появилось сообщение “Index is up to date”, то процесс индексирования завершен. Сообщение “Index is not up to date” означает, что индексирование еще продолжается.
4. Если значение счетчика Wordlists больше нуля, нажмите кнопку Merge Index. Это позволяет оптимизировать поисковые возможности Index Server. По выполнении операции Internet Explorer в окне появится страница Index Server Administration.
И в завершение Вы создадите два запроса — один из них будет выполнять поиск по тексту, а второй по свойствам документов — и исследуете различия между ними.
Примечание
Результаты этого упражнении зависят от того, на какой стадии индексирования находится Ваша совокупность документов. 8 Выполнение расширенных запросов
1. В меню Start выберите команды Programs, Windows NT 4.0 Option Pack, Microsoft Index Server, Index Server Sample Query Form. В окне Internet Explorer откроется форма запроса.
2. В левой части страницы щелкните ссылку Advanced ASP Sample.
3. В поле Document author наберите Smith

4. Нажмите кнопку Execute. В окне результатов запроса будет указано, что критерию “smith” отвечают пять документов.
Примечание
. Если на экране появится сообщение системы защиты, в ответ щелкните кнопку Yes 5. В меню Start выберите команды Programs, Windows NT 4.0 Option Pack, Microsoft Index Server, Index Server Manager (HTML). В окне Internet Explorer появится страница Administration - Index Statistics. Заметьте, что значение счетчика Total queries со времени последнего обращения к странице увеличилось.
Резюме
Процесс запроса инициируется пользователем и взаимодействует с Internet Information Server для передачи ему запроса, его обработки и возврата результаты клиенту. Index Server использует IDQ-файлы для преобразования запроса из Web-формы во внутреннее представление, а НТХ - файлы — для форматирования результатов обработки запроса. Вы также можете создавать формы запросов средствами ASP. Использование сценарных языков позволяет достичь большей гибкости в отображении результатов запроса.



Административные запросы


Административные запросы ничем не отличаются от обычных за исключением того, что административные параметры хранятся в IDA-, а не в IDQ-файле. IDA-файлы позволяют пользователям, имеющим соответствующие полномочия, администрировать узел Internet Information Server.

В состав Index Server включен пример административной страницы. Вы найдете его по адресу http://имя_компьютера/iisadmin/isadmin/admin.htm.



Анализ Webузлов


Ответы на вопросы к упражнениям этой главы



Аппаратура


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



ASP




Активные страницы сервера обладают значительными преимуществами по сравнению со сценарными системами CGI и PERL. ASP поддерживают интерфейс Open Script, позволяя разработчику пользоваться любым языком написания сценариев, отвечающим этому стандарту. В число языков, удовлетворяющих требованиям Open Script, входят VBScript и Microsoft JScript. Для изучения этих сценарных языков требуется гораздо меньше времени, и поэтому они широко распространены среди программистов и пользователей.

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



Аутентификация


Для корректной работы средств контроля доступа необходима предварительная аутентификация клиентов (до выполнения запросов). Самый простой способ гарантировать аутентификацию клиента — это встроить контроль доступа в форму, создающую запрос. Вы также можете снабдить списком контроля доступа IDQ-, НТХ- или HTW-файл, используемый в запросе.

В зависимости от конфигурации Internet Information Server Вы вправе применить один или несколько из перечисленных ниже методов аутентификации:

анонимную регистрацию; базовую аутентификацию; аутентификацию по методу Challenge/Response Windows NT.

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

Примечание.

Если Вы запрещаете клиентам доступ к защищенным файлам путем отключения аутентификации в виртуальном каталоге — то есть разрешая анонимную регистрацию, Вам также следует отключить аутентификацию для HTW-файла. В противном случае содержимое защищенных файлов во фрагментах с выделенными вхождениями искомого текста, возвращенных в результате выполнения запроса, окажется недоступным клиенту.

CGI


CGI и язык создания сценариев PERL предлагают другой, более простой, метод создания Web-приложений. Internet Information Server поддерживает и CGI, и PERL, что особенно полезно в ситуациях, когда необходимо обеспечить совместимость с существующими Web-серверами на базе UNIX.

CGI и PERL более подробно обсуждаются в главе II, “Активные страницы сервера”.



Добавление и удаление папок


Средствами интегрируемого модуля Index Server можно добавлять и удалять папки, подлежащие индексированию. Эта операция не затрагивает физические папки, а только лишь инструктирует Index Server, что их нужно включить (или исключить) из списка папок, подлежащих индексированию.



Дополнительная информация


Дополнительная информация о Microsoft Transaction Server: на Web-узле Microsoft - http://www.microsoft.com/ntserver/giiide/trans_mtro.asp







Другие средства мониторинга производительности


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



Фильтры ISAPI


ISAPI-фильтры выполняют предварительную обработку сообщений, тем самым снижая нагрузку на сервер. Например, ISAPI-фильтр может отказать в доступе к Web-серверу пользователям, не имеющим необходимых полномочий. В этом случае ISAPI-фильтр взаимодействует с Диспетчером защиты (Security Accounts Manager, SAM), чтобы непосредственно аутентифицировать пользователей, минуя процесс Inetinfo IIS.

Однако если Вы добавите, например, ISAPI-фильтр SSL, соответствующая библиотека будет затрачивать дополнительное процессорное время на шифрование/расшифровку данных и на аутентификацию пользователей.

Фильтры ISAPI более подробно обсуждаются в главе 5, “Настройка службы WWW”.



Фильтры содержимого


Фильтры содержимого — это программы, позволяющие индексировать файлы различных типов. Обычно документы, созданные конкретным приложением, хранят в файлах специального формата. Например, формат файлов документов WordPerfect отличается от формата файлов документов Microsoft Word. Для индексирования фай лов специальных форматов Index Server использует фильтры содержимого. Фильтры, как следует из их назначения, “умеют”:

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

Когда фильтр содержимого встречает в документе встроенный объект, он определяет его тип и активизирует соответствующий фильтр. Таким образом, Index Server может индексировать не только текст документа Word, но и любой текст встроенной в него таблице Microsoft Excel.

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



Хранение журналов


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

8 Выбор параметров хранения журналов

1. Убедитесь, что протоколирование включено.

2. В левой панели окна Internet Service Manager выберите Web- или FTP-узел и нажмите кнопку Properties на панели инструментов.

3. На вкладке свойств Web Site или FTP Site нажмите кнопку Properties. Появится диалоговое окно Logging Properties.

4. В поле Log file directory укажите папку, в которой будут храниться файлы журнала: согласитесь с папкой, предложенной по умолчанию, или нажмите Browse и выберите папку вручную.

5. Нажмите ОК. Под значком папки появится имя файла.

6. Нажимайте кнопку ОК до тех пор, пока не закроете все диалоговые окна.



файлы на виртуальном сервере, соответствующем



Примечание.
Не размещайте IDA- файлы на виртуальном сервере, соответствующем сетевому ресурсу (заданному UNC-именем). Некоторые административные операции изменяют состояние индекса. Вы вправе ограничить доступ к административным операциям с помощью списков контроля доступа.


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

После завершения слияния вместо нескольких



После завершения слияния вместо нескольких исходных индексов формируется один результирующий.


Это простой пример приложения, использующего все преимущества передовой серверной инфраструктуры — транзакции, независимость от физического местонахождения компонентов, управление потоками и процессами, а также пул подключений к базе данных — посредством интеграции с Microsoft Transaction Server. Как показано на приведенном выше рисунке, в рамках приложения выполняется несколько процессов.
1. Клиент инициирует банковскую транзакцию, вызывая компонент MoveMoney.
2. Компонент MoveMoney вызывает компонент Account для каждой базы данных, которую ему нужно модифицировать, а также компонент Receipt для каждой банковской транзакции.
3. Microsoft Transaction Server гарантирует, что действия всех компонентов будут объединены в единое целое (транзакцию), даже если эти компоненты написаны на разных языках.
Даже в случае, когда каждый из компонентов построен как простой однопользовательский компонент ActiveX, транзакция выполняется как многопользовательская с помощью средств управления потоками и процессами Microsoft Transaction Server.
4. Компоненты Account обращаются к базе данных SQL Server посредством распределителей ресурсов ODBC Microsoft Transaction Server — механизма обеспечения высокопроизводительного доступа к базам данных.
Чтобы выполнить следующее задание, Вам придется установить Microsoft SQL Server 6.5. Ознакомительная версия SQL Server 6.5 находится в папке Mssql прилагаемого к книге компакт-диска.
8 Установка ознакомительной версии SQL Server 6.5
1. Запустите двойным щелчком файл setnp.bat, расположенный в папке Mssql компакт-диска. Появится приглашение командной строки.
2. Нажмите клавишу ENTER для продолжения установки. Появится диалоговое окно Welcome.
3. Нажмите Continue. Появится диалоговое окно Enter Name and Organization.
4. В поле Name наберите Student, а в поле Company name — Microsoft. Оставьте поле Product ID пустым.
5. Нажмите Continue. Появится диалоговое окно Verify Name and Organization.
6. Нажмите Continue. Появится диалоговое окно Microsoft SQL Server 6.5 — Option.
7. Убедитесь, что установлен флажок Install SQL Server & Utilities.
8. Нажмите Continue. Появится диалоговое окно SQL Server 6.5 — Evaluation Edition.
9. Нажмите Continue. Появится диалоговое окно SQL Server Installation Path.
10. Нажмите Continue, чтобы принять значения по умолчанию. Появится диалоговое окно MASTER Device Creation.
11. Нажмите Continue, чтобы принять значения по умолчанию. Появится диалоговое окно SQL Server Books Online.
12. Нажмите Continue. Появится диалоговое окно SQL Installation Options
13. Установите флажок Auto Start SQL Server at boot time.
14. Установите флажок Auto Start SQL Executive at boot time.
15. Нажмите Continue. Появится диалоговое окно SQL Executive Log On Account.
16. Выберите Install для регистрации по учетной записи Local System Account.
17. Нажмите Continue. Файлы будут скопированы, а в конфигурацию системы внесены необходимые модификации, после чего появится диалоговое окно Microsoft SQL Server 6.5 — Completed.
18. Нажмите кнопку Exit to Windows NT.
19. Перезагрузите компьютер.
8 Установка примера банковских компонентов
1. В меню Start выберите команды Programs, Windows NT 4.0 Option Pack, Windows NT 4.0 Option Pack Setup.
2. Нажмите кнопку Next.
3. Нажмите Add/Remove.
4. В списке Components выберите Transaction Server.
5. Нажмите Show Subcomponents.
6. Выберите Transaction Server Development.
7. Нажмите OK.
8. Нажмите кнопку Next и следуйте дальнейшим инструкциям.
В этом задании Вы подготовите среду Microsoft Transaction Server для мониторинга банковских компонентов и транзакций из нашего примера.
8 Настройка Microsoft Transaction Server Explorer
1. В меню Start выберите команды Programs, Windows NT 4.0 Option Pack, Microsoft Transaction Server, Transaction Server Explorer. В окне консоли Microsoft Management Console появится интегрируемый модуль Microsoft Transaction Server Explorer.
2. Раскройте папку Microsoft Transaction Server.
3. Раскройте папку Computers.
4. Раскройте узел My Computer.
5. Выберите папку Packages Installed.
6. Сверните окно Microsoft Management Console.
7. В правой панели дважды щелкните значок Sample Bank.
8. Дважды щелкните папку Components.
9. В меню View выберите команду Status View. Эта команда отобразит информацию об использовании различных компонентов пакета.
10. В меню Window выберите команду New Window.
11. В меню Window выберите команду Tile Horizontally. Консоль Microsoft Management Console отобразит два окна — под номерами 1и2.
12. Прокрутите информацию в левой панели нового окна (2) и щелкните Transaction Statistics. Во время работы компонентов будет отображаться статистика транзакций.
13. В окне 2 щелкните Action. Появится меню.
14. Выберите Scope Pane. Левая панель окна 2 исчезнет.
15. В окне 1 щелкните Action. Появится меню.
16. Выберите Scope Pane. Левая панель окна 1 исчезнет. Теперь Вы сконфигурируете источник данных ODBC.
8 Настройка источника данных ODBC
1. Откройте Панель управления.
2. Дважды щелкните значок ODBC. Появится диалоговое окно ODBC Data Source Administrator с открытой вкладкой User DSN.
3. Нажмите Add.

в списке пункт SQL Server



4. Выберите в списке пункт SQL Server и нажмите Finish. Появится диалоговое окно Create a New Data Source to SQL Server.
5. В поле Name введите MtxSamples, затем в поле Server выберите (local).
6. Нажмите Next. Появится диалоговое окно Create a New Data Source to SQL Server.
7. Три раза нажмите кнопку Next, затем — кнопку Finish.
8. Нажмите ОК. Появится диалоговое окно ODBC Data Source Administrator.
9. Нажмите ОК.
10. Закройте Панель управления.
8 Убедитесь, что Microsoft SQL Server запущен
1. В меню Start выберите команды Programs, Microsoft SQL Server 6.5, SQL Service Manager. Если значок “стоп-сигнала” зеленого цвета, то SQL Server запущен.
2. Закройте окно SQL Service Manager.
Эта часть упражнения посвящена мониторингу компонентов и транзакций Microsoft Transaction Server.
8 Мониторинг компонентов и транзакций Microsoft Transaction Server
1. В меню Start выберите команды Programs, Windows NT 4.0 Option Pack, Microsoft Transaction Server, Bank Client. Расположите окно компонента Bank Client так, чтобы оно не перекрывалось с окном Microsoft Transaction Server Explorer. На форме по умолчанию выбрана операция кредитования счета 1 суммой в $1.
2. Нажмите Submit. На экране должен появиться обновленный баланс.
Ознакомьтесь с содержимым окна Microsoft Transaction Server Explorer: окна использования компонентов и статистики транзакций обновлены.
Поэкспериментируйте с компонентом клиента банка и изучите статистику, используя различные типы транзакций, серверы и итерации. Вы заметите, что первая транзакция занимает больше времени, чем остальные. Это объясняется тем, что она создает таблицы базы данных нашего примера и добавляет в них временные записи. Допустимые номера счетов — 1 и 2.
Попробуйте выполнить другие действия, например:
перевести сумму более $500; использовать недопустимые номера счетов (0, 3, 4, 5); положить на счет отрицательную сумму (-$100). 5. Закройте компонент Bank Client.
6. Закройте Microsoft Transaction Server Explorer.


9. Перейдите в папку C:\Website\Logfile и выберите все восемь файлов журнала.
10. Нажмите Open.
11. Нажмите кнопку Start Import (зеленый треугольник) на панели инструментов. Примерно через две минуты отобразится время, которое потребовалось на импорт.
12. Нажмите ОК. Обратите внимание на содержимое диалогового окна Import Statistics.
13. Нажмите Close.
14. Закройте окно Usage Import.

отображает объем информации, передаваемой ежечасно,



Bandwidth
(Полоса пропускания) — отображает объем информации, передаваемой ежечасно, ежесуточно и еженедельно. Этот отчет помогает выявить временные закономерности, а также получить средние значения для дня недели и времени суток. Такая информация полезна для планирования поддержки узда или его модернизации; кроме того, она иногда сигнализирует о необходимости расширить мощности Web-узла в связи с ростом активности пользователей. Browser and Operating System
(Обозреватель и операционная система) — перечисляет обозреватели, которыми пользуются посетители узла, тенденции применения различных версий обозревателей Netscape и Microsoft, поддержку обозревателями средств защиты и операционные системы, используемые посетителями узла. Такая информация полезна для адаптации Web-узла к возможностям типичного посетителя. Для этого отчета необходима регистрация в файлах журнала сервера данных об агентах. Geography
(География) — перечень городов и регионов, пользователи которых обращаются к Вашему Web-узлу. Эта информация полезна для определения районов, где Ваш бизнес наиболее успешен, а также для определения оптимальных мест для расположения зеркальных копий узлов. Для создания этого отчета необходимо предварительно выполнить запросы IP resolution и Who-is. Hit
(Число обращений) — показывает число обращений к серверу в течение часа, суток и недели, а также среднее число обращений за день недели или час суток. Этот отчет помогает выбрать оптимальное время для проведения работ по обслуживанию и модернизации узла, а также планировать расширение его мощностей. Organization
(Организации) — перечень организаций, обращавшихся к Вашему Web-узлу. Такая информация позволит Вам составить представление о своей аудитории, расширить ее и выявить потенциальных клиентов из числа часто посещающих узел организаций. Для создания этого отчета необходимо предварительно выполнить запросы IP resolution и Who-is. Referrer
(Переадресация) — показывает имена и URL-адреса внешних узлов, с которых пользователи попадают на Ваш Web-узел. Эту информация пригодится и для оценки эффективности рекламы узла и для выбора оптимального варианта ее размещения. Отчет требует регистрации данных о переадресации в файлах журнала сервера; кроме того, необходимо предварительно выполнить запрос IP resolution. Request
(Запросы) — выявляет наиболее и наименее популярные документы (в заданном интервале времени или для каждой из папок). Этот отчет показывает, нет ли на узле ненужных материалов, а также какие именно документы привлекают внимание посетителей узла. User
(Пользователи) — показывает число пользователей, посетивших узел за все время его работы, количество новых посетителей узла, среднее число посещений одним пользователем, среднее число пользователей в одной организации, а также среднее количество запросов и длительность посещения в расчете на одного пользователя. Этот отчет также позволяет выявить тенденции в популярности узла у зарегистрированных и незарегистрированных пользователей. Он поможет Вам выяснить, обращаются ли к Вашему узлу те, кто его уже посещал, есть ли завсегдатаи узла и становится ли со временем Ваш узел более популярным. Visits
(Посещения) — показывает число запросов, которое за одно посещение выполняют наиболее активные пользователи, среднюю продолжительность посещения, а также страницы узла, к которым чаще всего обращаются в начале посещения и непосредственно перед тем, как покинуть узел. Этот отчет позволяет отслеживать тенденции, связанные с посещениями узла, а также выявить основные характеристики пользователей узла и выяснить, привлекает или оставляет равнодушными пользователей конкретное содержимое.

показывает среднюю для каждых суток



Bandwidth (Полоса пропускания) — показывает среднюю для каждых суток полосу пропускания и анализ ее использования по дням недели, времени суток и по рабочим и нерабочим часам. Это помогает выявить какие проблемы пропускной способности вызывают падение производительности узла. Browser and Operating System (Обозреватель и операционная система) — показывает, какие обозреватели и операционные системы используют гости Вашего узла. Это отчет позволяет проанализировать необходимость оптимизации содержимого узла с учетом характеристик типичного посетителя. Executive (Сводка) — сводка наиболее важной информации из подробных отчетов. Executive Summary for Extended Logs (Сводка по расширенным журналам) -наиболее важные данные из подробных отчетов, основанных на журналах в расширенном формате. Geography (География) — сводка информации подробного отчета Geography, Hits (Обращения) — сводка информации подробного отчета Hits. Organization (Организация) — сводка информации подробного отчета Organization. Path (Путь) — показывает последовательность запросов, которые выполнял пользователь, перемещаясь по Вашему узлу. Эти данные позволяют выяснить, не нужно ли изменить расположение ссылок, чтобы упростить доступ к содержимому узла. Referrer (Переадресация) — сводка информации подробного отчета Referrer. Request (Запросы) — сводка информации подробного отчета Request. User (Пользователи) — подробный отчет User. Visit (Посещения) — сводка информации подробного отчета Visit.

Импорт журнала


Чтобы создать отчет на основе данных из файла журнала, Вам придется сначала импортировать этот журнал в базу данных Site Server Express. На следующем занятии Вы проанализируете отчет.



Индексирование Webузлов


Закрепление материала

1. Что необходимо для индексирования документов специальных форматов (например, файлов Microsoft Word)?

Для индексирования документов специальных форматов необходимы соответствующие фильтры содержимого. В состав Index Server входят несколько фильтров по умолчанию: для текстовых файлов, для HTML-файлов, для файлов Word 95, Word 97, Excel 95, Excel 97, PowerPoint 95 и PowerPoint 97, а также фильтр свойств двоичных файлов.

Для индексирования документов другого типа необходимо приобрести и установить соответствующий фильтр содержимого.

2. Какие факторы влияют на производительность Index Server?

Число индексируемых документов, объем данных, частота запросов и их тип.

3. Что можно сделать, чтобы уменьшить время обработки запросов к часто используемым документам?

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

4. Какие средства Index Server позволяют отображать ту часть документа, которая удовлетворяет Вашему запросу?

Выделение искомого текста в найденных документах позволяет создать HTML-страницу со списком документов, отвечающих критериям Запроса, с выделением искомых слов красным курсивом. Кнопки Show Highlights (condensed) и Show Highlights (full text), расположенные под резюме каждого из найденных документов, позволяют посмотреть выделенные слова в выбранном документе.

5. Как исключить некоторые папки из процесса индексирования?

Индексирование и поиск документов ведется в так называемой области индексирования, отсчитываемой от виртуального корня. Чтобы исключить виртуальную папку из области индексирования, в Диспетчере служб Интернета откройте окно свойств Directory этой папки и снимите флажок Index This Resource.

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

6. Если пользователь не имеет доступа к конкретному файлу на узле Интернета или интрасети, может ли этот файл фигурировать среди возвращаемых пользователю результатов запросов?

В процессе фильтрования документов Index Server сохраняет информацию из соответствующих списков кот-роля доступа файловой системы Windows NT. На основании этой информации Index Server выясняет есть ли у автора запроса права доступа к найденным файлам. Если права доступа к какому-либо из файлов нет, он не попадает в результат выполнения запроса, что предотвращает несанкционированный доступ.



Индексируемая совокупность документов


Набор подлежащих индексированию документов на узле Internet Information Server называется индексируемой совокупностью. Вы можете хранить файлы совокупности на одном или нескольких физических носителях на локальной машине или на сетевом сервере; каждую из папок, содержащих нужные файлы, Вам придется сконфигурировать как виртуальный сервер или как виртуальный каталог. Выбирая папки, подлежащие индексированию, Вы тем самым задаете область индексирования.

Примечание. Чтобы повысить производительность, разместите данные Index Server на другом диске, отдельно от индексируемых файлов.



Индексы


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



Index Server Manager


Интегрируемый модуль Index Server Administration консоли управления Microsoft Management Console предлагает Вам семь инструментальных средств для администрирования Index Server.



Интеграция с активными страницами сервера


Internet Information Server 4.0 интегрирует технологию активных страниц сервера (Active Server Pages, ASP) и Microsoft Transaction Server. Встроенная в Internet Information Server технология ASP позволяет применять модель клиент-сервер в Web-приложениях, в результате повышая производительность выполнения запросов и уменьшая сетевой трафик.

Дальнейшее развитие ASP обеспечило поддержку масштабируемых трехуровневых приложений. Теперь в основе технологии активных страниц сервера лежит Microsoft Transaction Server, и в результате ASP-приложения могут выполняться в отдельных адресных пространствах для обеспечения безопасности и надежности. Транзакция не способна охватывать несколько ASP-страниц, поэтому, если для выполнения транзакции необходимы объекты нескольких компонентов, сгруппируйте эти объекты на одной ASP-странице.



Internet Information Server


Перечисленные ниже глобальные счетчики Internet Information Server полезны при мониторинге использования кэша Internet Information Server:

Cache Flushes (число обновлений кэша); Cache Hits % (процент запросов, обслуженных из кэша); Cache Misses (число запрошенных объектов, не найденных в кэше); Cache Size (размер кэша); Cache Used (использованный размер кэша); Cached File Handles (число кэшированных файлов) ; Folder Listings (число оглавлений папок); Objects (объекты)..

ISAPI


Архитектура ISAPI позволяет создавать многопоточные приложения в виде динамически подключаемых библиотек, допускающие повторное использование. В результате ISAPI-приложения могут повторно работать с уже загруженными ресурсами, экономя ОЗУ и процессорные ресурсы. Применение ISAPI позволяет также фильтровать поток пакетов и расширять возможности сервера. Обладая чрезвычайной мощностью и гибкостью, интерфейс ISAPI в то же время требует от программиста высокой квалификации. ISAPI подробно обсуждается в главе 5, “Настройка службы WWW”.



ISAPI CGI u ASP


Internet Information Server поддерживает два уровня программирования сервера.. На более сложном предполагается использование ISAPI, а уровень попроще базируется на CGI-сценариях и новом интерфейсе ASP.



Исключающее слияние


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



Использование Index Server


Index Server устанавливается на компьютер под управлением ОС Microsoft Windows NT Server 4.0 с помощью программы Setup из состава Windows NT 4.0 Option Pack. Если Вы устанавливали Internet Information Server в соответствии с инструкциями, приведенными в главе “Установка IIS”, Index Server уже установлен.



Изменения конфигурации в результате установки


При установке Index Server Вы задаете папку каталога. Каталог (catalog) — это высший организационный уровень иерархии папок Index Server. Программа Setup создает в указанной папке каталога папку CATALOG.WCI, где будут храниться Индексы и кэш свойств. Эта папка может занимать до 40% от общего объема совокупности индексируемых файлов, поэтому разместите ее на разделе, где достаточно свободного места.

Во время установки файлы Index Server копируются в следующие папки Вашего компьютера:

файлы примеров HTML и сценариев — в папку /Iissamples/Issamples;

административные файлы — в папку /Iisadmin/Isadmin;

файлы документации — в папку /Iishelp/Ix.

После установки запускается служба Content Index (Cisvc.exe), которая выполняет индексирование всех документов в каждом из виртуальных каталогов Web-сервера на базе Internet Information Server, включая виртуальные каталоги для удаленных ресурсов.

Index Server запускается автоматически при включении Internet Information Server. Средствами апплета Services Панели управления Вы можете проверить, запустилась ли служба Content Index. Если нет, запустите ее вручную, выбрав ее и нажав кнопку Start. Работа Index Server не завершается автоматически при закрытии Internet Information Server.

После выполнения первоначального индексирования служба Content Index будет определять только новые и изменившиеся документы сервера под управлением Internet Information Server. Вы можете добавить новые документы в уже существующие виртуальные каталоги, либо добавить новые виртуальные каталоги и поместить документы в них. Служба Content Index отслеживает и индексирует все виртуальные каталоги сервера, даже когда служба World Wide Web (WWW) не работает.



Изучив материал этого занятия


Index Server позволяет индексировать файлы нескольких Web-серверов — для этого достаточно выделиь папку на удаленном компьютере в совместное использование и создать виртуальный каталог на сервере индексирования. Точно также Вы сможете индексировать и файлы, расположенные на серверах Novell NetWare или на разделах FAT.

Index Server способен также индексировать содержание и свойства форматированных документов (например, созданных в Microsoft Word или Microsoft Excel), что позволяет публиковать такие документы в интрасети непосредственно, без предварительного преобразования в формат HTML. Index Server индексирует файлы следующих форматов:

текстовые файлы (.txt); файлы HTML 3.0 или более ранних версий (.htm); файлы Microsoft Word 95/97 (.doc); файлы Microsoft Excel 95/97 (.xls); файлы Microsoft PowerPoint® 95/97 (.ppt); двоичные файлы (только свойства).

Связи OLE также индексируются. Установив дополнительные фильтры содержания, поставляемые независимыми разработчиками, Вы расширите число файловых форматов, которые могут быть индексированы. Такой фильтр считывает документ соответствующего формата, выделяет из него текст и свойства и передает их Index Server для индексирования. Index Server способен также индексировать NNTP-документы, хранящиеся на сервере новостей. Index Server в настоящее время поддерживает индексирование и запросы на следующих языках:

голландском; французском; немецком; итальянском; японском; испанском; шведском; международном английском; американском английском; традиционном и упрощенном китайском.

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



Каталог по умолчанию


Исходное местонахождение каталога, заданное во время установки, хранится в элементе реестра IsapiDefaultCatalogDirectory. Этот каталог используется, пока Вы не укажете другой каталог в .idq-файле. Каталог по умолчанию содержит индекс всех виртуальных серверов, к которым разрешен доступ на чтение. Область, охватываемая каталогом, задается административными средствами.



Каталоги


Каталог — это высший организационный уровень иерархии данных Index Server . Каждый каталог является полностью автономной единицей, содержащей индекс и кэшированные списки свойств для одной или нескольких областей данных (виртуальных серверов). Запросы Index Server не могут охватывать несколько каталогов.



Кэш Internet Information Server


Internet Information Server снабжен собственным кэшем, отдельным от кэша операционной системы Windows NT Server. Кэш Internet Information Server занимает часть физической памяти для хранения объектов, которые могут понадобиться при обслуживании последующих запросов.

Увеличение размера кэша позволит Internet Information Server обслуживать больше запросов из кэша. Это один из самых действенных способов оптимизации производительности сервера. Имейте в виду, однако, что если размер кэша превышает объем физической памяти, скорость работы других процессов резко упадет.



Компонентное программирование


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

СОМ позволяет получать информацию о функциях объектов во время выполнения или во время разработки. Это положение имеет несколько важных следствий:

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

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

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

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

Компонент СОМ, зарегистрированный в Microsoft Transaction Server, выполняется в отдельном процессе. При этом вызов lnProcServer32 в его коде заменяется на вызов LocalServer32, который определяет Mtx.exe в качестве замены внутри процессного сервера, что позволяет Microsoft Transaction Server создать оболочку для реального компонента.

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

Примечание

. Существуют методы, позволяющие сохранять состояние клиента. Например, средствами массивов типа variant можно передать данные клиенту для локального редактирования. Другой способ — скопировать объекты клиенту для локального использования, а затем переписать их обратно на сервер для обновления состояния. Этот подход позволяет серверным компонентам не хранить состояние, однако сами объекты при этом доступны локально, так что обращение к их свойствам и методам не будет порождать дополнительный сетевой трафик.

Компоненты Microsoft Transaction Server


Службы Microsoft Transaction Server можно классифицировать по четырем категориям. Прежде всего, это брокер объектных запросов (Object Request Broker, ORB). Когда сервер получает запрос объекта, ORB обрабатывает этот вызов, проверяет 1 доступность объекта и, наконец, предоставляет объект клиенту.

Следующий компонент — монитор обработки транзакций (Transaction Processing Monitor, TP Monitor), который можно упрощенно описать как промежуточный слой между клиентом и ресурсами сервера, берет на себя управление транзакциями и ресурсами, а также обеспечивает равномерное распределение нагрузки и; устойчивость к сбоям. Монитор транзакций не взаимодействует с объектами — он лишь обрабатывает запросы наиболее эффективным способом.

Microsoft Transaction Server объединяет функции брокера объектных запросов и мониторинг обработки транзакций на базе модели распределенных компонентных объектов (Distributed Component Object Model, DCOM). В качестве монитора обработки транзакций Microsoft Transaction Server использует Microsoft Distributed Transaction Coordinator (DTC).

Вот пример типичного процесса: запросы объектов поступают с помощью DCOM; Microsoft Transaction Server обрабатывает их, выделяет ресурсы сервера и инициирует транзакцию средствами координатора распределенных транзакций. Затем монитор транзакций возвращает объект клиенту. После этого клиент использует объект для выполнения необходимых действий. Microsoft Transaction Server функционирует между объектом и клиентом, отслеживая все действия последнего и тем самым играя роль монитора обработки транзакций. Например, Transaction Server может упорядочивать запросы и накапливать ресурсы во время ожидания запросов. Закончив работу с объектом, клиент освобождает его, что заставляет Microsoft Transaction Server завершить транзакцию и освободить ресурсы (или вернуть их в пул).



Компоненты транзакции


Компонент — это единица кода технологии ActiveX, предоставляющая опред^ ленный набор услуг посредством своего интерфейса. Компоненты предоставляют клиентам запрашиваемые ими объекты.



Компромисс между объемом памяти и скоростью реакции


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

Internet Information Server позволяет найти баланс между использованием памяти и временем реакции. Оценив число подключений к узлу, которое Вы планируете обслужить, Вы позволите Internet Information Server автоматически оценит объем памяти, необходимый для работы с новыми запросами. Если Вы установите значение, немного превосходящее реальное число подключений, производительность сервера возрастет. Если же Вы зададите его со значительным превышением, то память сервера будет расходоваться впустую, уменьшая его общую производительность.



Контроль доступа к документам


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



Краткие отчеты


В состав стандартных отчетов Report Writer входят двенадцать кратких; их описание приведено далее.



Мониторинг производительности


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

В упражнении предыдущего занятия Вы научились использовать Performance Monitor для администрирования Index Server. Другой метод отслеживания производительности — применение сценария IDA-файла. Информация, полученная обоими методами, практически не отличается, но сами методы сбора статистики в корне различны. Оба они доступны и на локальной машине, и на удаленном клиенте.

Преимущество Performance Monitor — в автоматическом обновлении информации и более развитых средствах графического представления статистики и протоколирования. Кроме того, для работы с этой утилитой Windows NT не требуется какое-либо дополнительное программное обеспечение.

Однако использование IDA-сценариев обеспечивает более гибкое форматирование результата с помощью НТХ-файлов; кроме того, результаты в этом случае доступны клиентам, работающим под управлением других операционных системам. Для того чтобы применить IDA-сценарий, Вам придется создать IDA-файл с параметром CiAdminOperation=GetState. В состав Index Server входит пример страницы, использующей такой сценарий.



MSMQ


Сервер очереди сообщений (Microsoft Message Queue Server, MSMQ) может работать в качестве диспетчера ресурсов Microsoft Transaction Server. Он обеспечивает асинхронную передачу сообщений в корпоративной системе обслуживания очереди. Этот подход позволяет масштабировать приложения, так как системам обработки транзакций (например, Microsoft Transaction Server) не приходится полагаться на постоянную) доступность всех диспетчеров ресурсов, а эффективность выполнения

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

MSMQ поддерживает ActiveX, динамическую маршрутизацию и конфигурирование, множество вариантов доставки сообщений и уведомления, а также интеграцию со средствами защиты Microsoft Windows NT.



Наиболее важные счетчики


При мониторинге различных аспектов сети Вам доступно множество счетчиков. Они подразделяются на четыре категории: счетчики полосы пропускания, счетчики ISAPI и CGI, счетчики ASP и счетчики кэша Internet Information Server.



Настройка и мониторинг Internet Information Server


В этой главе

В этой главе приведен краткий обзор инструментальных средств и методов мониторинга, использованных в книге. Здесь рассказано, как выполнять мониторинг и оптимизацию Microsoft Internet Information Server (IIS), а также описаны основные причины, вызывающие снижение производительности. На занятиях рассматриваются средства и методы поиска и устранения этих проблем.



Netstat


Netstat предоставляет администратору моментальный “снимок” статистических данных протокола и сетевых соединений по протоколу Transmission Control Protocol/ Internet Protocol (TCP/IP). Используя netstat, Вы получите “мгновенную” информацию о работе ТСРДР: например, число неудачных попыток подключения, переданных пакетов или компьютеров, подключенных к Вашему Web-узлу в данный момент.



Network Monitor


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



Нормализатор


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

В большинстве языков письменный текст содержит достаточно много неинформативных слов. В английском языке, например, это “the”, “of”, “and”, “you” и около сотни других. По очевидным причинам, такие слова нет смысла включать в индекс. Для каждого из поддерживаемых языков Index Server располагает общесистемным списком неинформативных слов, который Вы можете настроить с учетом местного диалекта и терминов. Когда разделитель слов во время анализа потока символов обнаруживает неинформативное слово, нормализатор обеспечивает его пропуск при индексировании. Так как неинформативные слова составляют большую часть письменного текста, их удаление может значительно уменьшить размер результирующего индекса.

Только после того, как поток слов нормализован, Index Server включает слова в индекс.



Обнаружение и исправление ошибок


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



Ограничение числа подключений и установка таймаутов


Ограничивая число допустимых подключений, Вы можете принудительно сохранить часть полосы пропускания для других целей. Например, лимитировав число подключений к Internet Information Server, Вы увеличите полосу пропускания для остальных служб — скажем, для серверов электронной почты, или новостей или для другого Web-узла, работающего на этом же компьютере. Если задано предельное число одновременных подключений, по его достижении Internet Information Server будет отвергать все последующие попытки подключения. Если обозреватель неожиданно прекращает работу или соединение с ним разрывается во время работы, узел продолжает обрабатывать данные до тех пор, пока не исчерпается установленный тайм-аут подключения. Этот параметр уменьшает затраты ресурсов и полосы пропускания на обслуживание разорванных подключений.



Ограничение доступа к каталогам


Когда Вы устанавливали Index Server, каталог был снабжен списком контроля доступа (ACL), который разрешает доступ к нему только администраторам системы и системным службам. В частности, это гарантирует, что, если папка каталога находится в виртуальном корне, неавторизованные пользователи не смогут увидеть файлы этого каталога в результатах своих запросов.

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