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

         

Ограничения накладываемые ОЗУ


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

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

Совет Task Manager показывает, какой объем ОЗУ задействован в данный момент времени.

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

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

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



Ограничения связанные с платами сетевых адаптеров


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

На узле со средней загрузкой Internet Information Server обычно полностью занимает ресурсы 10-мегабитного адаптера Ethernet. Чтобы сервер не перегрузил сеть, используйте либо несколько таких адаптеров, либо установите 100-мегабит-ный Ethernet-адаптер или адаптер FDDI. Если Вы подозреваете, что ресурсы повышения производительности узла исчерпаны, проверьте процент использования процессора на клиенте и на сервере. Если и там, и там процессор не загружен, то проблема в чем-то ином. Воспользуйтесь утилитой Network Monitor из состава Windows NT и выясните степень использования сети. Если на клиенте или на сервере используется около 100% ресурсов сети, то узким местом, по-видимому, является сеть.





Ограничения связанные с жесткими дисками


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

Ограничения, накладываемые жестким диском, чаще всего заметны на тех узлах, где хранится очень много файлов, причем пользователи узла обращаются к ним хаотично. Если проблемы производительности узла связаны с доступом к жесткому диску, то процент использования процессора остается небольшим, плата сетевого адаптера не перегружается, но значение счетчика Physical Disk % Disk Time велико. Чтобы исправить положение, воспользуйтесь дисковым массивом (Redundant Array of Inexpensive Drives, RAID) и средствами организации дисковых массивов Windows NT.



Оптимизация использования процессора


С помощью Диспетчера задач можно выяснить, какие процессы занимают процессорное время. Для вызова Диспетчера задач достаточно нажать комбинацию клавиш CTRL+ALT+DEL и щелкнуть кнопку Task Manager.

Открыв в окне Диспетчера задач вкладку Processes, обратите внимание на процесс Inetinfo.exe. Он объединяет все службы Internet Information Server: HTTP, FTP, кэш Internet Information Server, пул потоков и задачи SNMP.

Чтобы оптимизировать сервер, на котором работает Internet Information Server, запускайте только те процессы, которые необходимы для Web-сервера. Откажитесь от идеи использовать сервер IIS в качестве файл-сервера или сервера печати и не запускайте на нем другие службы, не имеющие отношения к серверу Интернета и интрасети.



Основное слияние


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

Примечание

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

Запуск, перезапуск и приостановка выполнения основного слияния регистрируются в журнале событий.

Выполнение операций основного слияния управляется несколькими ключами реестра.

MaslerMergeTime (время регулярного выполнения регулярного основного слияния) — этот параметр позволяет указать число минут после полуночи, по истечении которых автоматически запускается ночная операция основного слияния. Время запуска по умолчанию — полночь. Этот параметр следует выбирать так, чтобы основное слияние выполнялось во время минимальной загрузки сервера. MaxFresh Count — Index Server выполняет основное слияние, если число документов, изменившихся со времени последнего основного слияния, превысило значение этого параметра. Увеличение числа изменившихся документов приводит к дополнительному расходу памяти при обслуживании запросов. После выполнения основного слияния значение счетчика FreshCount уменьшается до нуля. MinDiskFreeForceMerge и MaxShadowFreeForceMerge — если объем свободно го места на диске, содержащем каталог, меньше, чем значение параметр MinDiskFreeForceMerge, а суммарный объем дискового пространства, занимаемый промежуточными индексами, превосходит значение MaxSha-dowFreeForceMerge, Index Server выполняет основное слияние, чтобы объединить промежуточные индексы и освободить место на диске. MaxShadowIndexSize — если суммарный объем дискового пространства, занимаемого промежуточными индексами, превосходит значение параметр MaxShadowIndexSize, Index Server выполняет основное слияние, чтобы объединить промежуточные индексы. Приоритет этого условия выше, чем предыдущего.

Кроме того, Вы имеете право принудительно запустить операцию основного слияния, используя административную Web-страницу (httр://имя_компьютеpа/srсhadm/admin.htm). Основное слияние повышает эффективность обслуживания запросов, поэтому можно и не дожидаться, пока будет выполнено одно и; описанных выше условий.



Параметры кэша свойств


Чтобы уменьшить время выборки информации для часто используемых запросов, добавьте свойства в кэш на своем сервере. Если свойства не кэшируются, Index Server при каждом запросе будет обращаться непосредственно к документам АсtiveX (например, к документам Microsoft Office), входящим в результате запроса, и извлекать их свойства. В кэш свойств можно добавить и свойства, которые не индексируются по умолчанию, — например, добавив в кэш свойство, соответствующее тэгу META=="ServerProduct" VALUЕ="название продукта, и снабдив этим тэгом HTML-документы, Вы обеспечите возможность поиска серверных продуктов по названию.

Примечание

Если Ваш индекс был поврежден и его приходится создавать заново, Вам придется возобновить и кэш свойств.

Переполнение диска


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

Примечание

Вы можете закрыть Index Server на время очистки места на диске.

План Webузла


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

План Web-узла отображается в одном из двух графических представлений: Tree или Cyberbolic.



Подробные отчеты


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



Постоянные индексы


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

Промежуточный индекс создается путем слияния словарей и иногда других; промежуточных индексов. Каталоги могут содержать несколько промежуточных индексов. Index Server использует промежуточные индексы в качестве временных областей хранения данных, предназначенных для слияния в основной индекс. Применение промежуточных индексов позволяет поддерживать актуальность индексов без выполнения ресурсоемких операций. Однако в силу того1 что промежуточные индексы сжаты не так сильно, как основные, они занимают больший объем на жестком диске.

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

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



Потеря уведомлений о файлах


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

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



Повреждение данных и нарушение внутренней структуры


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

При появлении в журнале событий этого сообщения следует остановить и перезапустить службу Content Index (Cisvc.exe).

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



Повреждение кэша свойств


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



Поврежденные файлы и сбойные DLL фильтров


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

Если проблемы с фильтрованием файлов определенного типа возникают постоянно, свяжитесь с поставщиком библиотеки фильтра



Представление Ciberbolic


Представление Cyberbolic отображает Web-узел в виде графа объектов и ссылок; это — динамическое, нелинейное изображение структуры узла. Оно показывает взаимоотношения между объектами Web-узла, начиная с любого выбранного Вами элемента. Такое представление позволяет “окинуть взглядом” всю структуру узла, как показано на приведенном ниже рисунке.

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

По умолчанию представление Cyberbolic отображает только Web-страницы (игнорируя остальные ресурсы и кратчайшие маршруты между ними и основной страницей. Этот метод позволяет) упростить представление узла и оставляет достаточно места для меток страниц. Чтобы выбрать объекты для отображения, измените параметры в окне Display Options (меню View).

Все объекты снабжены краткими метками. Более подробное пояснение появится, когда Вы установите курсор мыши на объект.



Представление Tree


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

Любой объект в представлении Tree — это значок и текстовая метка. Как показано на рисунке, значок основной страницы (home page) находится на вершине иерархии. Ресурсы второго уровня — страницы или другие объекты, связанные ссылками с основной страницей, — отображаются в виде значков, сдвинутых вправо относительно значка основной страницы. Значки ресурсов третьего уровня (на расстоянии двух ссылок от основной страницы) точно так же смещены вправо относительно второго уровня. В результате представление узла очень похоже на структуру документа.

Управляющий значок — это небольшой серый квадратик слева от значка объекта со знаком “плюс”, “минус” или знаком вопроса. Щелкнув значок с символом “+”, Вы раскроете представление, отображая объекты следующего уровня, непосредственно связанные с данным. Щелкнув “минус”, Вы свернете раскрытое представление, сократив видимую часть дерева до прежнего размера. Значки со знаком вопроса указывают, что ссылки и объекты данной страницы еще не исследованы. Отсутствие управляющего значка означает, что страница просмотрена,. но никаких ссылок на другие страницы она не содержит и, следовательно, является нижним уровнем данной ветви иерархии.



Прежде всего Для изучения этой главы нет никаких предварительных требований Занятие


1. Мониторинг служб

(продолжительность занятия 15 минут)

Perfomance Monitor

Журналы Internet Information Server и Event Viewer

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

Netstat

Network Monitor

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

Счетчики полосы пропускания

Счетчики ISAPI и CGI

Счетчики ASP

Счетчики кэша Internet Information Server

Резюме

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



Прежде всего Для изучения занятий


. В ходе этой процедуры устанавливается и Index Server. Для корректной работы Index Server необходима файловая система Windows NT (NTFS); прилагаемый к книге компакт-диск, содержащий необходимые для упражнений файлы.







Принудительное сканирование


Для повторного обзора виртуального корневого каталога необходимо выполнить его повторное сканирование. Эта операция необходима после глобальных изменений, например:

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

8 Выполнение принудительного сканирования

1. В меню Start выберите команды Programs, Windows NT 4.0 Option Pack, Microsoft Index Server, Index Server Manager. Раскройте каталог, чтобы отобразить папку Directories.

2. Щелкните значок Directories.

3. В правой панели щелкните папку, которую нужно отсканировать.

4. В меню Action выберите команду Rescan.

5. Если Вам нужно выполнить полное сканирование, в диалоговом окне Full Rescan щелкните кнопку Yes; если достаточно инкрементального сканирования, щелкните кнопку No.



Принудительное слияние


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

8 Выполнение принудительного слияния

1. В левой панели окна Microsoft Management Console выберите каталог, индексы которого нужно объединить.

2. В меню Action выберите команду Merge. Появится диалоговое окно Merge Catalog?.

3. Щелкните кнопку Yes.



Процесс CiDaemon


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

Фильтрование выполняется в фоновом режиме, чтобы не мешать основным операциям. Если документ, открытый процессом CiDaemon на локальном жестком диске, требуется другому процессу для записи, то процесс CiDaemon откладывает его фильтрование и закрывает документ так быстро, насколько это возможно. Для совместно используемых сетевых папок такой вариант невозможен.

Если процесс CiDaemon завершается, Index Server автоматически перезапускает его.



Процессорные ограничения


Скорость, с которой информация перемещается между различными компонентами компьютера, (например, центральным процессором, жестким диском и ОЗУ), зависит от тактовой частоты процессора и от разрядности шины данных, используемой для передачи информации. Чем больше тактовая частота, тем больше операций передачи данных по шине может быть выполнено за один и тот же интервал времени. Тактовая частота обычно измеряется в мегагерцах (МГц). Шина данных за одну операцию посылки данных может передать 16, 32 или 64 бита, в зависимости от разрядности. Скорость передачи данных зависит также от используемой операционной системы и от быстродействия приложения.

Процессор становится “узким” местом, когда задействована большая доля его ресурсов, в то время как плата сетевого адаптера используется далеко не на полную мощность. Если процессор занят “на полную катушку”, Вы можете установить более быстрый процессор, добавить в компьютер дополнительные процессоры или установить новые компьютеры, на которых можно создать копию узла,' и распределить нагрузку между ними. Если Вы запускаете на Web-сервере приложения, сильно загружающие процессор, — например, приложение базы данных, перенесите остальные приложения на другой компьютер.



Промежуточное слияние


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

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

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

Пропускная способность сети


Тип используемой сети самым непосредственным образом сказывается на производительности сервера. Она снижается, когда пропускной способности сети недостаточно для передачи всех данных, которые необходимо переслать. Кроме того, другие работающие на компьютере приложения (например, система электронной почты), которые занимают часть полосы пропускания, уменьшают ширину полосы, доступную Internet Information Server.

8 Скольких одновременно работающих пользователей “выдержит” Ваше соединение

1. Предположим, что Вы хотите уложиться в 5 секунд при передаче текстовой страницы и что размер передаваемого пользователю файла страницы составляет 63 360 бит. Разделите 63 360 бит на 5 секунд. Получится, что каждому пользователю необходимо передавать 12 672 бит/с.

2. Разделите скорость подключения на скорость передачи, необходимую каждому пользователю. Например, для линии Т1 разделите 1 540 000 бит/с на 12 672 бит/с на пользователя. В результате Вы получите число пользователей, которые одновременно смогут работать с сервером (в нашем примере — 121).

Примечание.

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

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

Тип подключения Число пользователей
Выделенное PPP/SLIP 2-3
56 К (Frame Relay) 10-20
ISDN (с применением РРР) 10-50
Т1 100-500
Т3 >5000


Протоколирование ODBC


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

ODBC-коннектор подробно обсуждается в главе “Активные страницы сервера”.



Проверка состояния


Средствами интегрируемого модуля Index Server Вы можете выяснить текущее состояние выполнения задач индексирования, а также посмотреть свойства индексируемых папок и кэша свойств документов. Выделив папку Index Server в в левой панели окна Microsoft Management Console, в правой Вы увидите число индексированных файлов, размер каталога, список документов, подлежащих фильтрованию, а также другую информацию,



Разделители слов


Результат работы фильтра содержимого — поток символов, тогда как Index Sea индексирует слова. Поэтому, чтобы индексирование выполнялось корректно, Ind Server должен уметь выделять слова из потока символов. Эта задача усложняет тем, что в различных языках по-разному трактуют ее слова и разделители слов.

Чтобы справиться с этой задачей, Index Server задействует языково-зависимые программные разделители слов, которые корректно разделяют поток символов на слова. Разделители слов учитывают особенности структуры и синтаксиса конкретного языка для выделения слов из потока символов.

Примечание

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

Разорванные сетевые соединения


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



Microsoft Index Server позволяет индексировать


Microsoft Index Server позволяет индексировать документы, хранящиеся на узле Internet Information Server, и поддерживает контекстный поиск в этих документах. Index Server способен индексировать многоязычные документы различных форматов, хранящиеся на нескольких Web-серверах. Он также автоматически обновляет индекс при изменении исходных файлов. Минимальные требования к конфигурации системы для Index Server обычно совпадают с требованиями, предъявляемыми Microsoft Windows NT Server 4.0. Вы можете запускать Index Server и прекращать его работу средствами апплета Services Панели управления.

Счетчики ASP


При мониторинге работы активных страниц сервера полезны следующие счетчики:

Memory Allocated (объем выделенной памяти); Request Execution Time (время выполнения запроса); Request Wait Time (время ожидания запроса); Requests Executing (число выполняющихся запросов); Requests Failed Total (общее число неудачных запросов); Requests Queued (число запросов, помещенных в очередь); Requests Succeeded (число удачных запросов); Requests Total (общее число запросов); Requests/Sec (число запросов в секунду).

Счетчики ISAPI и CGI


Перечисленные ниже счетчики Performance Monitor для службы Web полезны при мониторинге работы приложений ISAPI и CGI:

Bytes Received/sec (число байт, принимаемых в секунду); Bytes Sent/sec (число байт, передаваемых в секунду); Bytes Total/sec (общее число байт в секунду); Current CGI Requests (текущее число CGI-запросов); Current ISAPI Extension Requests (текущее число запросов ISAPI-расширений); Maximum CGI Requests (максимальное число CGI-запросов); Maximum Connections (максимальное число подключений); Maximum ISAPI Extension Requests (максимальное число запросов ISAPI-расширений); Total CGI Requests (общее число CGI-запросов); Total Files Sent (общее число отправленных файлов); Total Files Transferred (общее число переданных файлов); Total Get Requests (общее число запросов Get); Total ISAPI Extension Requests (общее число запросов ISAPI-расширений); Total Other Request Methods (общее число запросов другими методами); Total Post Requests (общее число запросов Post).

Счетчики полосы пропускания


Перечисленные ниже счетчики Performance Monitor для службы Web полезны при мониторинге полосы пропускания Вашего узла:

Bytes Received/sec (число байт, принимаемых в секунду); Bytes Sent/sec (число байт, передаваемых в секунду); Bytes Total/sec (общее число байт в секунду); Connection Attempts/sec (число попыток подключения в секунду); Current Anonymous Users (число анонимных пользователей); Current Connections (число подключений); Current .NonAnonymous Users (число неанонимных пользователей); Maximum Connections (максимальное число подключений); Maximum NonAnonymous Users (максимальное число неанонимных пользователей); Total Anonymous Users (общее число анонимных пользователей); Total Connection Attempts (общее число попыток подключения); Total NonAnonymous Users (общее число неанонимных пользователей).

Скорость работы сетевых приложений


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



Словари


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

\HKEY_LOCAI_MACHINE\SYSTEM\CurrentControlSet\Control\Content Index . В приведенной ниже таблице перечислены ключи реестра, относящиеся к словарям, и их описание.

Параметр Описание
MaxWordLists Максимальное число одновременно существующих словарей
MaxWordlistSize Максимальный объем памяти, занимаемый отдельным словарем. По достижении этого значения в словарь добавляются только слова того документа, который фильтруется в данный момент. Слова других документов будут позднее помещены в другие файлы. Единица измерения — 128 кб (например, значение 20 эквивалентно 2,5 Мб).
MinSizeMergeWordlists Минимальный общий размер словарей, по достижении которого выполняется их слияние в промежуточный индекс
MinWordlistMemory Минимальный объем памяти для создания словаря

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



Создание и конфигурирование каталогов


Во время установки Index Server создает каталог Web. Вы можете создавать дополнительные каталоги, а также распределить индексные данные по нескольким каталогам.



Создание нескольких каталогов


Вы можете создать несколько каталогов для распределения запросов и поддержки виртуальных серверов.

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

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



Средства защиты


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



Статистика объектов число и размер


Pages (Страницы) — не слишком ли велики страницы для компьютеров с минимальными аппаратными возможностями и для стандартных обозревателей? Images (Изображения) — достаточно ли имеющихся изображений для представления узла? Gateways (Шлюзы сценариев) — при каком количестве ссылок обозреватели смогут запускать на сервере CGI-сценарии средствами команд GET или POST? Internet (Интернет) — сколько ссылок используют службы Интернета (например, Telnet)? Java — оправданно ли нынешнее количество ссылок на Java-приложения при существующем разнообразии обозревателей, используемых для доступа к узлу? Applications (Приложения) — каково возможное влияние числа ссылок на приложения на объем узла? Audio (Звук) — оправданно ли нынешнее количество ссылок на звуковые данные при существующем уровне наличия звуковоспроизводящего оборудования у посетителей Web-узла? Video (Видео) — оправданно ли текущее число ссылок на видеоинформацию при существующем уровне наличия оборудования для воспроизведения видео у посетителей Web-узла? Text (Текст) — оправданно ли текущее число текстовых объектов при таком проценте посетителей, использующих Lynx или другие текстовые обозреватели на устаревших платформах? WebMaps (Карты узла) — достаточно ли на узле навигационных карт для упрощения перемещения пользователей по узлу? Other Media (Информация других типов) — есть ли ссылки на информацию других типов? Totals (Всего) — насколько сложен узел? Не станет ли он работать эффективнее, если Вы будете отбирать содержимое более рационально?







Сводка число объектов и ссылок


На узле (On-site)

OK— каково состояние внутренних ссылок? Не следует ли выделить дополнительные ресурсы на их исправление и поддержку? Not Found (code 404) (Не найденные) — каково состояние внутренних ссылок? Не следует ли выделить дополнительные ресурсы на их исправление и поддержку? Other Errors (Другие ошибки) — каково состояние внутренних ссылок? Не следует ли выделить дополнительные ресурсы на их исправление и поддержку? Unverified (Непроверенные) — каково состояние внутренних ссылок? Не следует ли выделить дополнительные ресурсы на их исправление и поддержку?

Свойства плана узла


Map Date (Дата сбора информации) — актуален ли отчет? Не нужно ли обновить статистику по узлу? Levels (Уровни) — сколько “шагов” требуется, чтобы добраться от основной страницы до “конца” узла? Average Links per Page (Среднее число ссылок на странице) — хорошо ли структурирован узел? Не слишком ли запутаны ссылки? Не стоит ли их упорядочить, чтобы упростить наблюдение за “путешествием” пользователей по узлу?







Тип подключения к Интернету


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

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

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

Выяснив ширину полосы пропускания, необходимую Web- или FTP-серверу, решите, будете ли Вы предоставлять дополнительные услуги, также занимающие часть полосы пропускания, — например, электронную почту, новости или аудио- и видеопотоки. Если да, обеспечьте им достаточную ширину полосы пропускания. Обычно для подключения к Интернету используется маршрутизатор, с которым Ваш компьютер связан посредством платы сетевого адаптера. Вам потребуется высокопроизводительный сетевой адаптер, чтобы предотвратить возникновение “узких” мест между Интернетом и Вашим компьютером. Например, если Ваш компьютер подключен к Интернету по линии Т1, имеющей полосу пропускания 1,54 Мбит/с, то достаточно обычной 10-мегабитной локальной сети Ethernet. Однако если для подключения к Интернету используется линия ТЗ, следует подумать о соединении посредством оптоволоконной сети, так как 45-мегабитная полоса пропускания ТЗ значительно превышает пропускную способность стандартной сети Ethernet.



Типы слияния


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

Возможны три типа операций слияния:

промежуточное; исключающее; основное.

Требования к ресурсам системы


Программные файлы Index Server требуют от 3 до 12 Мб дискового пространства в зависимости от числа поддерживаемых языков. Для данных Index Server потребуется дополнительное место на диске; объем определяется числом и типом индексируемых документов. Данные Index Server могут занимать до 40% от общего; размера индексируемых документов. Хотя среднее значение объема используемого дискового пространства около 30%, в отдельных случаях может достигаться и 40-процентный рубеж.

Другими словами, для узла, обеспечивающего поддержку нескольких языков и нуждающегося в индексировании файлов общим объемом 100 Мб, может потребоваться 52 Мб дополнительного дискового пространства (40 % от 100 Мб = 40 Мб+12 Мб для программных файлов).

Примечание

По соображениям безопасности компания Microsoft рекомендует хранить данные Index Server на разделе NTFS. Использование NTFS является одним из ключевых факторов обеспечения безопасности Internet Information Server и Index Server, так как NTFS позволяет ограничивать доступ к файлам и папкам.

Минимальные требования к конфигурации системы, предъявляемые Index Server, обычно совпадают с требованиями Microsoft Windows NT Server 4.0, однако конфигурация, соответствующая оптимальной производительности, определяется следующими факторами:

числом документов; размером совокупности индексируемых документов; тем, насколько занят сервер операциями поиска.

Компьютер на базе процессора 486/DX4-100 с 32 Мб ОЗУ, работающий под управлением ОС Windows NT Server 4.0, справляется с обработкой запросов, лишь если их число в один момент времени не слишком велико. Такой аппаратной конфигурации достаточно для маленькой организации, но для обслуживания большого числа пользователей придется установить Index Server на более мощном компьютере.

Приведенная ниже таблица поможет Вам оценить, какой объем памяти необходим для работы Index Server в Вашей организации.

Число документов Рекомендуемый объем памяти (в мегабайтах)
Менее 100 000

100000-250000

250000-500000

500 000 и более

32

64-128

128-256

256 и более

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



Трехуровневая архитектура


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

Пользовательские сервисы — клиентское приложение представляет собой в основном графический пользовательский интерфейс (GUI), а функции подключения к базе данных и обработки данных выполняют сервисы среднего звена. Этот подход ускоряет работу пользователей, но увеличивает сетевой трафик при разнесении компонентов системы по разным компьютерам. Компоненты бизнес-логики и данных — компоненты среднего уровня реализуют правила работы с данными и логику приложения. Последняя состоит из алгоритмов бизнес-операций и, например, законодательных ограничений. Правила работы с данными предназначены для сохранения целостности структур данных одной или нескольких БД (например, находящихся на сервере, чтобы упростить совместное использование ресурсов). Сервисы среднего уровня применяются и для принудительного обеспечения соблюдения бизнес-правил и правил работы с данными. Поскольку они не привязаны к конкретному клиенту, их можно использовать в любых приложениях.

Примечание

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

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



В этом упражнении Вы активизируете


В этом упражнении Вы активизируете средства защиты Index Server и протестируете их работу, используя различные учетные записи пользователей. Для выполнения этого упражнения нужно сначала создать учетные записи пользователей и изменить разрешения на Вашем сервере; этому посвящена первая часть упражнения.
8 Создание учетных записей пользователей
1. В меню Start выберите команды Programs, Administrative Tools, User Manager for Domains.
2. Создайте две учетные записи пользователей в соответствии с приведенной ниже таблицей.
Свойство Пользователь1 Пользователь2
User Name Laurel Megan
Password Laurel megan
User Must Change Password Флажок сброшен флажок сброшен
3. Закройте Windows NT User Manager.
8 Изменение разрешений для файла Security.doc
1. Запустите Проводник Windows NT и выберите папку C:\lnetpub\Wwwroot \lndex.
2. Откройте папку Confidential.
3. Щелкните правой кнопкой мыши файл Security.doc и выберите в меню команду Properties. Появится диалоговое окно Security.doc Properties.
4. Откройте вкладку Security.
5. Нажмите кнопку Permissions. Появится диалоговое окно File Permissions.
6. Нажмите кнопку Add. Появится диалоговое окно Add Users and Groups.
7. Нажмите кнопку Show Users.
8. Прокрутите список имен и выберите строки Laurel и Megan.
9. Нажмите кнопку Add. Учетные записи Laurel и Megan будут добавлены в список Add Names.
10. Нажмите ОК. Появится диалоговое окно File Permissions.
11. Выберите в списке учетную запись Laurel.
12. В списке Type of Access выберите No Access. Появится диалоговое окно, сообщающее, что у учетной записи Laurel нет доступа.
13. Нажмите ОК.
14. Закройте User Manager. Теперь Вы включите средства защиты Internet Information Server.
8 Включение средств защиты Internet Information Server
1. Запустите Internet Service Manager.
2. Щелкните правой кнопкой мыши узел Default Web Site.
3. Выберите в контекстном меню команду Properties. В группе Anonymous Access and Authentication Control вкладки Directory Security щелкните кнопку Edit. Появится диалоговое окно Authentication Methods. Настройте методы аутентификации в соответствии с приведенной ниже таблицей.
Метод аутентификации Положение флажка
Allow Anonymous Сброшен
Basic (Clear Text) Установлен
Windows NT Challenge/Response Сброшен
На экране появится предупреждение.
6. Нажмите кнопку Yes.
7. Два раза нажмите кнопку ОК.
8. В поле Inheritance Overrides выберите запись IISADMIN и нажмите кнопку ОК.
Базовая аутентификация используется здесь только в учебных целях — она ускоряет выполнение упражнения, предотвращая отключение пользователя от узла.
9. Сверните окно Internet Service Manager.
10. В меню Start выберите команды Programs, Windows NT 4.0 Option Pack, Microsoft Index Server, Index Server Manager (HTML).
Примечание
Если на экране появится диалоговое окно запроса имени; пользователя и пароль, введите имя и пароль администратора. 11. Прокрутите страницу до раздела Index Statistics и щелкните кнопку Refresh.Обратите внимание на число измененных документов (# Documents changed) — 163.
Примечание
Если на экране появится предупреждение системы защиты, щелкните кнопку Yes. 12. В левой части страницы Index Statistics нажмите кнопку Merge Index.
13. На странице Index Statistics нажмите кнопку Refresh.
Обратите внимание, что число отредактированных документов (# Documents changed) изменилось. Это свидетельствует, что изменение прав доступа к файлy Security.doc учтено в индексе.
8 Тестирование средств защиты Index Server
1. Закройте все копии Internet Explorer.
2. В меню Start выберите команды Programs, Microsoft Index Server, Index Server Sample Query Form. Появится диалоговое окно Basic Authentication.
3. В поле Useroame введите laurel.
4. В поле Password введите laurel.
5. Нажмите OK.
6. В поле Enter your query below введите confidential document.
7. Нажмите Go. Index Server не найдет ни одного документа, так что пользователь Laurel н узнает, что файл Security.doc существует.
8. Закройте Internet Explorer.
9. В меню Start выберите команды Programs, Microsoft Index Server, Index Server Sample Query Form. Появится диалоговое окно Basic Authentication.
10. В поле Username введите megan.
11. В поле Password введите megan.
12. Нажмите ОК.
13. В поле Enter your query below введите confidential document.
14. Нажмите Go. Index Server должен найти файл Security.doc.
15. Закройте Internet, Explorer.
8 Восстановление параметров парольной аутентификации службы WWW
1. Запустите Internet Service Manager. Щелкните правой кнопкой мыши узел Default Web Site. Выберите в контекстном меню команду Properties.
4. В группе Anonymous Access and Authentication Control вкладки Directory Security щелкните кнопку Edit. Появится диалоговое окно Authentication Methods.
5. Настройте методы аутентификации в соответствии с приведенной ниже таблицей.
Метод аутентификации Положение флажка
Allow Anonymous Установлен
Basic (Clear Text) Сброшен
Windows NT Challenge/Response Установлен
6. Трижды щелкните кнопку ОК.
7. Закройте Internet Service Manager.


Установка глобальных свойств


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



Вне узла (Offsite)


OK— каково состояние внешних ссылок? Не следует ли выделить дополнительные ресурсы на их исправление и поддержку? Not Found (code 404) (Не найденные) — каково состояние внешних ссылок? Не следует ли выделить дополнительные ресурсы на их исправление и поддержку? Other Errors (Другие ошибки) — каково состояние внешних ссылок? Не следует ли выделить дополнительные ресурсы на их исправление и поддержку? Unverified (Непроверенные) — каково состояние внешних ссылок? Не следует ли выделить дополнительные ресурсы на их исправление и поддержку?







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


Приведенные ниже вопросы помогут Вам лучше усвоить основные темы данной главы. Если Вы не сумеете ответить на вопрос, повторите материал соответствующего занятия. Правильные ответы приведены в части “Вопросы и ответы”, в конце книги.

Что необходимо для индексирования документов специальных форматов (например, файлов Microsoft Word)? Какие факторы влияют на производительность Index Server? Что можно сделать, чтобы уменьшить время обработки запросов к часто используемым документам? Какие средства Index Server позволяют отображать ту часть документа, которая удовлетворяет Вашему запросу? Как исключить некоторые папки из процесса индексирования? Если пользователь не имеет доступа к конкретному файлу на узле Интернета или интрасети, может ли этот файл фигурировать среди возвращаемых пользователю результатов запросов?

Microsoft Index Server поддерживает индексирование


1. Знакомство c Index Server (продолжительность занятия 20 минут)
Возможности Index Server Использование Index Server Требования к ресурсам системы Изменения конфигурации в результате установки Резюме Microsoft Index Server поддерживает индексирование содержимого узла под управлением Internet Information Server и поиск информации в документах, хранящихся на узле. На этом занятии Вы познакомитесь с возможностями Index Server и его требованиями к системным ресурсам.

Журналы Internet Information Server и Event Viewer


В состав Windows NT входит служба протоколирования, регистрирующая различные события (например, ошибки или успешные запуски служб). Для просмотра журналов этой службы предназначена утилита Event Viewer. Чтобы запустить ее, выберите в меню Start команды Programs, Administrative Tools, Event Viewer.

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



Знакомство с Microsoft Transaction Server


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

1. Предположим, вновь созданный банк Woodgrove Bank планирует производить операции в 16-ти отделениях. Каждое отделение хранит информацию о счетах в своей базе данных Microsoft SQL Server. Управляющий банком нанял группу программистов для разработки ПО синхронизации транзакций между всеми 16-ю базами данных, а Вас — в качестве консультанта для наблюдения за работой программистов. Вы хотите убедить управляющего использовать Microsoft Transaction Server. Какие доводы Вы приведете?

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

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

Microsoft Transaction Server поддерживает технологию ActiveX, что обеспечивает возможность разработки приложений средствами Microsoft Visual Basic, Microsoft Visual C++ и Visual J++.

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

2. Назовите три уровня трехуровневой' модели приложения и опишите функции каждого из них.

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

Компоненты бизнес-логики и данных — компоненты среднего уровня реализуют правила обработки данных и логику приложения. Последняя состоит из алгоритмов бизнес-операций и например, законодательных ограничений. Правила работы с данными предназначены для обеспечения целостности структур данных одной или нескольких БД (например, расположенных на сервере, дабы упростить совместное использование ресурсов). Сервисы среднего уровня применяются и для принудительного обеспечения соблюдения бизнес-правил и правил работы с данными. Поскольку они не “привязаны” к конкретному клиенту, их можно использовать в любых приложениях.

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

3. Предположим, один из членов правления банка Woodgrove Bank все еще сомневается в необходимости использования Microsoft Transaction Server. Он хочет, чтобы Вы провели на следующем заседании правления банка презентацию, на которой рассказали о преимуществах Microsoft Transaction Server. Он попросил Вас на этой презентации привести пример некорректной транзакции, заканчивающейся отказом. Какой пример Вы приведете?

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

Клиент с помощью Web-обозревателя подключается к Web-узлу банка. На этой стадии используются следующие компоненты: клиент, сеть и приемник запросов (в этом качестве выступает соответствующий компонент Microsoft Transaction Server).

В течение нескольких минут после первого запроса еще 100 пользователей точно также подключаются к Web-узлу банка. Для обработки их запросов Microsoft Transaction Server использует следующие компоненты: приемник и диспетчеры очереди, соединений, контекста и защиты.

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

Пользователь переводит деньги с одного счета на другой, так что операция затрагивает несколько бах данных. Для выполнения транзакции Microsoft Transaction Server привлекает пул потоков, процедуры бизнес-логики, диспетчер конфигурации, диспетчер подключения к БД, компоненты диспетчера синхронизации и собственно данные.

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

В качестве примера экстренной ситуации возможен следующий: соединения между SQL-серверами разрываются до завершения транзакции. В этом случае диспетчер синхронизации регистрирует незавершенную транзакцию и восстанавливает исходное состояние контекста.